8486501545
PR target/19938 bfd * elf-bbfd.h (struct elf_backend_data): New field: elf_strtab_flags. New field: elf_backend_set_special_section_info_and_link * elfxx-target.h (elf_backend_strtab_flags): Define if not already defined. (elf_backend_set_special_section_info_and_link): Define if not already defined. (elfNN_bed): Use elf_backend_set_special_section_info_and_link and elf_backend_strtab_flags macros to initialise fields in structure. * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS being set even if SHF_MERGE is not set. (elf_fake_sections): Likewise. (section_match): New function. Matches two ELF sections based upon fixed characteristics. (find_link): New function. Locates a section in a BFD that matches a section in a different BFD. (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link fields of reserved sections. (bfd_elf_compute_section_file_positions): Set the flags for the .shstrtab section based upon the elf_strtab_flags field in the elf_backend_data structure. (swap_out_syms): Likewise for the .strtab section. * elflink.c (bfd_elf_final_link): Set the flags for the .strtab section based upon the elf_strtab_flags field in the elf_backend_data structure. * elf32-i386.c (elf32_i386_set_special_info_link): New function. (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris targets. (elf_backend_set_special_section_info_and_link): Define for Solaris targets. * elf32-sparc.c: Likewise. * elf64-x86-64.c: Likewise. binutils* testsuite/binutils-all/i386/compressed-1b.d: Allow for the string sections possibly having the SHF_STRINGS flag bit set. * testsuite/binutils-all/i386/compressed-1c.d: Likewise. * testsuite/binutils-all/readelf.s: Likewise. * testsuite/binutils-all/readelf.s-64: Likewise. * testsuite/binutils-all/x86-64/compressed-1b.d: Likewise. * testsuite/binutils-all/x86-64/compressed-1c.d: Likewise. gas * testsuite/gas/i386/ilp32/x86-64-unwind.d: Allow for the string sections possibly having the SHF_STRINGS flag bit set. * testsuite/gas/i386/x86-64-unwind.d: Likewise.
24 lines
999 B
Text
24 lines
999 B
Text
There are .* section headers, starting at offset .*:
|
|
|
|
Section Headers:
|
|
+\[Nr\] Name +Type +Address +Offset
|
|
+Size +EntSize +Flags +Link +Info +Align
|
|
+\[ 0\] +NULL +0000000000000000 +00000000
|
|
+0000000000000000 +0000000000000000 +0 +0 +0
|
|
+\[ 1\] .text +PROGBITS +0000000000000000 +00000040
|
|
+00000000000000.. +0000000000000000 +AX +0 +0 +.*
|
|
+\[ 2\] .rel.+text +REL. +0+ +0+.*
|
|
+000000000000001. +000000000000001. +I +. +1 +8
|
|
+\[ 3\] .data +PROGBITS +0000000000000000 +000000(48|50)
|
|
+000000000000000[48] +0000000000000000 +WA +0 +0 +.*
|
|
+\[ 4\] .bss +NOBITS +0000000000000000 +000000(4c|50|54|58)
|
|
+0000000000000000 +0000000000000000 +WA +0 +0 +.*
|
|
+\[ 5\] .shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
|
|
+00000000000000.. +0000000000000000 .* +0 +0 +.*
|
|
+\[ 6\] .symtab +SYMTAB +0000000000000000 +0+.*
|
|
# aarch64-elf targets have one more data symbol.
|
|
+0+.* +0000000000000018 +7 +(6|7) +8
|
|
+\[ 7\] .strtab +STRTAB +0000000000000000 +0+.*
|
|
+0+.* +0000000000000000 .* +0 +0 +1
|
|
Key to Flags:
|
|
#...
|