PR27952, Disallow ET_DYN DF_1_PIE linker input
authorAlan Modra <amodra@gmail.com>
Fri, 11 Jun 2021 04:36:47 +0000 (14:06 +0930)
committerAlan Modra <amodra@gmail.com>
Fri, 11 Jun 2021 04:36:47 +0000 (14:06 +0930)
commitf64b9b13ce4bb927f47a1fe0257c3794c6357c8c
tree241f0a0b457807eb8e4ec179728e38899087ebe5
parent860cc54cd40334ec8709529f01e42fb4ac50b54f
PR27952, Disallow ET_DYN DF_1_PIE linker input

This patch adds a new elf_tdata flag, is_pie, set during the linker's
open_input_bfds processing.  The flag is then used to reject attempts
to link a PIE as if it were a shared library.

bfd/
PR 27952
* elf-bfd.h (struct elf_obj_tdata): Add is_pie.
* elflink.c (elf_link_add_object_symbols): Set is_pie.
ld/
PR 27952
* ldelf.c (ldelf_after_open): Error on input PIEs too.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elflink.c
ld/ChangeLog
ld/ldelf.c