894891db7f
backend does not provide a function for creating dynamic sections then fail. (bfd_elf_final_link): Issue a warning message if a dynamic section has the SHT_NOTE type. (bfd_elf_final_link): Do not look for dynamic strings in a section that does not have the SHT_STRTAB type or the name .dynstr. * elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got section is not in the output binary. * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise. * ld-elf/elf.exp: Add test for linking a shared library with a broken linker script that marks dynamic sections as being notes. * ld-elf/note-3.s: New test source file. * ld-elf/note-3.t: New test linker script. * ld-elf/note-3.l: Expected output from the linker. * lib/ld-lib.exp (run_ld_link_tests): Improve description.
22 lines
483 B
Raku
22 lines
483 B
Raku
PHDRS
|
|
{
|
|
text PT_LOAD FILEHDR PHDRS ;
|
|
note PT_NOTE;
|
|
}
|
|
SECTIONS
|
|
{
|
|
. = . + SIZEOF_HEADERS ;
|
|
.text : { *(.text) *(.rodata) } :text
|
|
.note : { *(.note) } :note :text
|
|
|
|
/* BUG: This linker script is broken here. It has not reset the
|
|
output segment for the following sections, so they are all
|
|
treated as notes... */
|
|
|
|
.hash : { *(.hash) }
|
|
|
|
.dynstr : { *(.dynstr) }
|
|
.dynsym : { *(.dynsym) }
|
|
.got.plt : { *(.got.plt) *(.igot.plt) }
|
|
/DISCARD/ : { *(*) }
|
|
}
|