mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
d3a49aa80b
This patch is a first pass at fixing readelf message pluralization. I've deliberately not fixed the "out of memory" errors since it's very unlikely that they will ever be complaining about not being able to allocate for a single entry, and a few others where the size is very unlikely to be 1 byte. Then there are messages like this one: "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n" I suppose this could be split into three parts, "Of %lu items ", "there are %zu bucket clashes ", and "(longest of %zu entries).\n", each part being printed separately, but that might not be ideal for sentence construction in other languages. For now I'm punting on this one. Changes to readelf output require lots of testsuite adjustment.. binutils/ * dwarf.c (read_uleb128): Properly pluralize messages. (display_debug_lines_raw, display_debug_loc): Likewise. (display_debug_names, process_cu_tu_index): Likewise. * od-macho.c (dump_code_signature_superblob): Likewise. * readelf.c (process_program_headers): Likewise. (process_section_header, process_relocs): Likewise. (hppa_process_unwind, arm_process_unwind): Likewise. (process_dynamic_section, process_version_sections): Likewise. (process_symbol_table, process_syminfo): Likewise. (apply_relocations, process_mips_specific): Likewise. (process_gnu_liblist, process_notes_at): Likewise. (process_archive): Likewise. * testsuite/binutils-all/dw2-1.W, * testsuite/binutils-all/dw2-3.W, * testsuite/binutils-all/dw2-3gabi.W, * testsuite/binutils-all/dw5.S, * testsuite/binutils-all/dw5.W, * testsuite/binutils-all/i386/compressed-1a.d, * testsuite/binutils-all/libdw2-compressedgabi.out, * testsuite/binutils-all/objdump.W, * testsuite/binutils-all/readelf.r, * testsuite/binutils-all/readelf.r-64, * testsuite/binutils-all/x86-64/compressed-1a.d: Update for pluralization fixes. gas/ * testsuite/gas/arm/got_prel.d, * testsuite/gas/elf/dwarf2-1.d, * testsuite/gas/elf/dwarf2-2.d, * testsuite/gas/elf/dwarf2-3.d, * testsuite/gas/elf/dwarf2-5.d, * testsuite/gas/elf/dwarf2-6.d, * testsuite/gas/i386/debug1.d, * testsuite/gas/i386/dw2-compress-1.d, * testsuite/gas/i386/dw2-compress-3a.d, * testsuite/gas/i386/dw2-compress-3b.d, * testsuite/gas/i386/dw2-compressed-1.d, * testsuite/gas/i386/dw2-compressed-3a.d, * testsuite/gas/i386/dw2-compressed-3b.d, * testsuite/gas/i386/ilp32/x86-64-localpic.d, * testsuite/gas/i386/localpic.d, * testsuite/gas/i386/x86-64-localpic.d, * testsuite/gas/ia64/pr13167.d, * testsuite/gas/mips/loc-swap-2.d, * testsuite/gas/mips/loc-swap.d, * testsuite/gas/mips/micromips@loc-swap-2.d, * testsuite/gas/mips/micromips@loc-swap.d, * testsuite/gas/mips/mips16-dwarf2-n32.d, * testsuite/gas/mips/mips16-dwarf2.d, * testsuite/gas/mips/mips16@loc-swap-2.d, * testsuite/gas/mips/mips16@loc-swap.d, * testsuite/gas/mips/mips16e@loc-swap.d, * testsuite/gas/mmix/bspec-1.d, * testsuite/gas/mmix/bspec-2.d, * testsuite/gas/tic6x/unwind-1.d, * testsuite/gas/tic6x/unwind-2.d, * testsuite/gas/tic6x/unwind-3.d: Update for pluralization fixes. ld/ * testsuite/ld-aarch64/ifunc-13.d, * testsuite/ld-aarch64/ifunc-15.d, * testsuite/ld-aarch64/ifunc-20.d, * testsuite/ld-alpha/tlsbin.rd, * testsuite/ld-alpha/tlspic.rd, * testsuite/ld-arm/ifunc-3.rd, * testsuite/ld-arm/ifunc-9.rd, * testsuite/ld-arm/unwind-mix.d, * testsuite/ld-arm/unwind-rel.d, * testsuite/ld-cris/hiddef1.d, * testsuite/ld-cris/libdso-13.d, * testsuite/ld-cris/libdso-2.d, * testsuite/ld-cris/pr16044.d, * testsuite/ld-cris/tls-local-63.d, * testsuite/ld-cris/tls-local-64.d, * testsuite/ld-cris/tls-und-38.d, * testsuite/ld-cris/tls-und-42.d, * testsuite/ld-cris/tls-und-46.d, * testsuite/ld-cris/tls-und-50.d, * testsuite/ld-cris/weakref3.d, * testsuite/ld-cris/weakref4.d, * testsuite/ld-elf/comm-data2r.rd, * testsuite/ld-elf/discard1.d, * testsuite/ld-elf/discard2.d, * testsuite/ld-elf/pr19539.d, * testsuite/ld-elf/pr22374-1.r, * testsuite/ld-elf/pr22374-2.r, * testsuite/ld-i386/combreloc.d, * testsuite/ld-i386/emit-relocs-nacl.rd, * testsuite/ld-i386/emit-relocs.rd, * testsuite/ld-i386/pr13302.d, * testsuite/ld-i386/pr17709-nacl.rd, * testsuite/ld-i386/pr17709.rd, * testsuite/ld-i386/pr19539.d, * testsuite/ld-i386/pr19615.d, * testsuite/ld-i386/pr19636-1a.d, * testsuite/ld-i386/pr19636-1e.d, * testsuite/ld-i386/pr19636-1f.d, * testsuite/ld-i386/pr19636-2a.d, * testsuite/ld-i386/pr19636-2b.d, * testsuite/ld-i386/pr19636-2d-nacl.d, * testsuite/ld-i386/pr19636-2e-nacl.d, * testsuite/ld-i386/pr19636-3a.d, * testsuite/ld-i386/pr19636-3d.d, * testsuite/ld-i386/pr19636-3e.d, * testsuite/ld-i386/pr19636-4a.d, * testsuite/ld-i386/pr19645.d, * testsuite/ld-i386/pr19827-nacl.rd, * testsuite/ld-i386/pr19827.rd, * testsuite/ld-i386/pr20253-4a.d, * testsuite/ld-i386/pr20253-4b.d, * testsuite/ld-i386/pr20253-5.d, * testsuite/ld-i386/tlsbin-nacl.rd, * testsuite/ld-i386/tlsbin.rd, * testsuite/ld-i386/tlspic-nacl.rd, * testsuite/ld-i386/tlspic.rd, * testsuite/ld-i386/undefweakb.d, * testsuite/ld-ia64/tlsbin.rd, * testsuite/ld-ia64/tlspic.rd, * testsuite/ld-ifunc/ifunc-13-i386.d, * testsuite/ld-ifunc/ifunc-13-x86-64.d, * testsuite/ld-ifunc/ifunc-15-i386.d, * testsuite/ld-ifunc/ifunc-15-x86-64.d, * testsuite/ld-ifunc/ifunc-20-i386.d, * testsuite/ld-ifunc/ifunc-20-x86-64.d, * testsuite/ld-ifunc/ifunc-23a-x86.d, * testsuite/ld-ifunc/ifunc-23b-x86.d, * testsuite/ld-ifunc/ifunc-23c-x86.d, * testsuite/ld-ifunc/ifunc-24a-x86.d, * testsuite/ld-ifunc/ifunc-24b-x86.d, * testsuite/ld-ifunc/ifunc-24c-x86.d, * testsuite/ld-ifunc/ifunc-25a-x86.d, * testsuite/ld-ifunc/ifunc-25b-x86.d, * testsuite/ld-ifunc/ifunc-25c-x86.d, * testsuite/ld-m68k/got-1.d, * testsuite/ld-mips-elf/vxworks1.rd, * testsuite/ld-powerpc/ambiguousv1.d, * testsuite/ld-powerpc/ambiguousv1b.d, * testsuite/ld-powerpc/ambiguousv2.d, * testsuite/ld-powerpc/ambiguousv2b.d, * testsuite/ld-powerpc/tlsexe.r, * testsuite/ld-powerpc/tlsexe32.r, * testsuite/ld-powerpc/tlsexetoc.r, * testsuite/ld-powerpc/tlsso.r, * testsuite/ld-powerpc/tlsso32.r, * testsuite/ld-powerpc/tlstocso.r, * testsuite/ld-powerpc/vle-multiseg-1.d, * testsuite/ld-powerpc/vle-multiseg-2.d, * testsuite/ld-powerpc/vle-multiseg-3.d, * testsuite/ld-s390/tlsbin.rd, * testsuite/ld-s390/tlsbin_64.rd, * testsuite/ld-s390/tlspic.rd, * testsuite/ld-s390/tlspic_64.rd, * testsuite/ld-sh/ld-r-1.d, * testsuite/ld-sh/sh64/gotplt.d, * testsuite/ld-sh/shared-1.d, * testsuite/ld-sh/tlsbin-2.d, * testsuite/ld-sh/tlspic-2.d, * testsuite/ld-sparc/gotop32.rd, * testsuite/ld-sparc/gotop64.rd, * testsuite/ld-sparc/tlssunpic32.rd, * testsuite/ld-sparc/tlssunpic64.rd, * testsuite/ld-sparc/vxworks1-lib.rd, * testsuite/ld-tic6x/shlib-app-1.rd, * testsuite/ld-tic6x/shlib-app-1b.rd, * testsuite/ld-tic6x/shlib-app-1r.rd, * testsuite/ld-tic6x/shlib-app-1rb.rd, * testsuite/ld-tic6x/shlib-noindex.rd, * testsuite/ld-vax-elf/export-class-data.rd, * testsuite/ld-x86-64/pr13082-1a.d, * testsuite/ld-x86-64/pr13082-1b.d, * testsuite/ld-x86-64/pr13082-2a.d, * testsuite/ld-x86-64/pr13082-2b.d, * testsuite/ld-x86-64/pr13082-3a.d, * testsuite/ld-x86-64/pr13082-3c.d, * testsuite/ld-x86-64/pr13082-4a.d, * testsuite/ld-x86-64/pr13082-5a.d, * testsuite/ld-x86-64/pr13082-5b.d, * testsuite/ld-x86-64/pr13082-6a.d, * testsuite/ld-x86-64/pr13082-6b.d, * testsuite/ld-x86-64/pr17709-nacl.rd, * testsuite/ld-x86-64/pr17709.rd, * testsuite/ld-x86-64/pr19539a.d, * testsuite/ld-x86-64/pr19539b.d, * testsuite/ld-x86-64/pr19615.d, * testsuite/ld-x86-64/pr19636-1a.d, * testsuite/ld-x86-64/pr19636-1d.d, * testsuite/ld-x86-64/pr19636-1e.d, * testsuite/ld-x86-64/pr19636-2a.d, * testsuite/ld-x86-64/pr19636-2e.d, * testsuite/ld-x86-64/pr19636-2f.d, * testsuite/ld-x86-64/pr19636-3a.d, * testsuite/ld-x86-64/pr19645.d, * testsuite/ld-x86-64/pr19807-2b.d, * testsuite/ld-x86-64/pr19807-2d.d, * testsuite/ld-x86-64/pr19827-nacl.rd, * testsuite/ld-x86-64/pr19827.rd, * testsuite/ld-x86-64/pr20253-4a.d, * testsuite/ld-x86-64/pr20253-4b.d, * testsuite/ld-x86-64/pr20253-4d.d, * testsuite/ld-x86-64/pr20253-4e.d, * testsuite/ld-x86-64/pr20253-5a.d, * testsuite/ld-x86-64/pr20253-5b.d, * testsuite/ld-x86-64/tlsbin-nacl.rd, * testsuite/ld-x86-64/tlsbin.rd, * testsuite/ld-x86-64/tlspic-nacl.rd, * testsuite/ld-x86-64/tlspic.rd, * testsuite/ld-x86-64/tlspic2-nacl.rd: Update for pluralization fixes.
143 lines
4.7 KiB
R
143 lines
4.7 KiB
R
#source: tlspic1.s
|
|
#source: tlspic2.s
|
|
#as: --64
|
|
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
|
|
#readelf: -WSsrl
|
|
#target: x86_64-*-*
|
|
|
|
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+:
|
|
|
|
Section Headers:
|
|
+\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
|
|
+\[[ 0-9]+\] +NULL +0+ 0+ 0+ 00 +0 +0 +0
|
|
+\[[ 0-9]+\] .hash +.*
|
|
+\[[ 0-9]+\] .dynsym +.*
|
|
+\[[ 0-9]+\] .dynstr +.*
|
|
+\[[ 0-9]+\] .rela.dyn +.*
|
|
+\[[ 0-9]+\] .rela.plt +.*
|
|
+\[[ 0-9]+\] .plt +.*
|
|
+\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+31a 00 +AX +0 +0 4096
|
|
+\[[ 0-9]+\] .tdata +PROGBITS +0+20131a 0+131a 0+60 00 WAT +0 +0 +1
|
|
+\[[ 0-9]+\] .tbss +NOBITS +0+20137a 0+137a 0+20 00 WAT +0 +0 +1
|
|
+\[[ 0-9]+\] .dynamic +DYNAMIC +0+201380 0+1380 0+130 10 +WA +3 +0 +8
|
|
+\[[ 0-9]+\] .got +PROGBITS +0+2014b0 0+14b0 0+90 08 +WA +0 +0 +8
|
|
+\[[ 0-9]+\] .got.plt +PROGBITS +0+201540 0+1540 0+20 08 +WA +0 +0 +8
|
|
+\[[ 0-9]+\] .symtab +.*
|
|
+\[[ 0-9]+\] .strtab +.*
|
|
+\[[ 0-9]+\] .shstrtab +.*
|
|
Key to Flags:
|
|
#...
|
|
|
|
Elf file type is DYN \(Shared object file\)
|
|
Entry point 0x1000
|
|
There are [0-9]+ program headers, starting at offset [0-9]+
|
|
|
|
Program Headers:
|
|
+Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
|
|
+LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x200000
|
|
+LOAD +0x0+131a 0x0+20131a 0x0+20131a 0x0+246 0x0+246 RW +0x200000
|
|
+DYNAMIC +0x0+1380 0x0+201380 0x0+201380 0x0+130 0x0+130 RW +0x8
|
|
+TLS +0x0+131a 0x0+20131a 0x0+20131a 0x0+60 0x0+80 R +0x1
|
|
|
|
Section to Segment mapping:
|
|
+Segment Sections...
|
|
+00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
|
|
+01 +.tdata .dynamic .got .got.plt *
|
|
+02 +.dynamic *
|
|
+03 +.tdata .tbss *
|
|
|
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
|
|
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
|
|
[0-9a-f ]+R_X86_64_DTPMOD64 +0
|
|
[0-9a-f ]+R_X86_64_TPOFF64 +24
|
|
[0-9a-f ]+R_X86_64_TPOFF64 +30
|
|
[0-9a-f ]+R_X86_64_DTPMOD64 +0
|
|
[0-9a-f ]+R_X86_64_DTPMOD64 +0
|
|
[0-9a-f ]+R_X86_64_TPOFF64 +64
|
|
[0-9a-f ]+R_X86_64_TPOFF64 +50
|
|
[0-9a-f ]+R_X86_64_TPOFF64 +70
|
|
[0-9a-f ]+R_X86_64_DTPMOD64 +0
|
|
[0-9a-f ]+R_X86_64_TPOFF64 +44
|
|
[0-9a-f ]+R_X86_64_TPOFF64 +0+10 sg5 \+ 0
|
|
[0-9a-f ]+R_X86_64_DTPMOD64 +0+ sg1 \+ 0
|
|
[0-9a-f ]+R_X86_64_DTPOFF64 +0+ sg1 \+ 0
|
|
[0-9a-f ]+R_X86_64_TPOFF64 +0+4 sg2 \+ 0
|
|
|
|
Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
|
|
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
|
|
[0-9a-f ]+R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
|
|
|
|
Symbol table '\.dynsym' contains [0-9]+ entries:
|
|
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
|
|
.* NOTYPE +LOCAL +DEFAULT +UND *
|
|
.* TLS +GLOBAL +DEFAULT +8 sg8
|
|
.* TLS +GLOBAL +DEFAULT +8 sg3
|
|
.* TLS +GLOBAL +DEFAULT +8 sg4
|
|
.* TLS +GLOBAL +DEFAULT +8 sg5
|
|
.* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
|
|
.* TLS +GLOBAL +DEFAULT +8 sg1
|
|
.* FUNC +GLOBAL +DEFAULT +7 fn1
|
|
.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
|
|
.* TLS +GLOBAL +DEFAULT +8 sg2
|
|
.* TLS +GLOBAL +DEFAULT +8 sg6
|
|
.* TLS +GLOBAL +DEFAULT +8 sg7
|
|
.* NOTYPE +GLOBAL +DEFAULT +12 _edata
|
|
.* NOTYPE +GLOBAL +DEFAULT +12 _end
|
|
|
|
Symbol table '\.symtab' contains [0-9]+ entries:
|
|
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
|
|
.* NOTYPE +LOCAL +DEFAULT +UND *
|
|
.* SECTION +LOCAL +DEFAULT +1 *
|
|
.* SECTION +LOCAL +DEFAULT +2 *
|
|
.* SECTION +LOCAL +DEFAULT +3 *
|
|
.* SECTION +LOCAL +DEFAULT +4 *
|
|
.* SECTION +LOCAL +DEFAULT +5 *
|
|
.* SECTION +LOCAL +DEFAULT +6 *
|
|
.* SECTION +LOCAL +DEFAULT +7 *
|
|
.* SECTION +LOCAL +DEFAULT +8 *
|
|
.* SECTION +LOCAL +DEFAULT +9 *
|
|
.* SECTION +LOCAL +DEFAULT +10 *
|
|
.* SECTION +LOCAL +DEFAULT +11 *
|
|
.* SECTION +LOCAL +DEFAULT +12 *
|
|
.* FILE +LOCAL +DEFAULT +ABS tmpdir/tlspic1.o
|
|
.* TLS +LOCAL +DEFAULT +8 sl1
|
|
.* TLS +LOCAL +DEFAULT +8 sl2
|
|
.* TLS +LOCAL +DEFAULT +8 sl3
|
|
.* TLS +LOCAL +DEFAULT +8 sl4
|
|
.* TLS +LOCAL +DEFAULT +8 sl5
|
|
.* TLS +LOCAL +DEFAULT +8 sl6
|
|
.* TLS +LOCAL +DEFAULT +8 sl7
|
|
.* TLS +LOCAL +DEFAULT +8 sl8
|
|
.* FILE +LOCAL +DEFAULT +ABS
|
|
.* TLS +LOCAL +DEFAULT +9 sH1
|
|
.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC
|
|
.* TLS +LOCAL +DEFAULT +8 sh3
|
|
.* TLS +LOCAL +DEFAULT +9 sH2
|
|
.* TLS +LOCAL +DEFAULT +9 sH7
|
|
.* TLS +LOCAL +DEFAULT +8 sh7
|
|
.* TLS +LOCAL +DEFAULT +8 sh8
|
|
.* TLS +LOCAL +DEFAULT +9 sH4
|
|
.* TLS +LOCAL +DEFAULT +8 sh4
|
|
.* TLS +LOCAL +DEFAULT +9 sH3
|
|
.* TLS +LOCAL +DEFAULT +8 sh5
|
|
.* TLS +LOCAL +DEFAULT +9 sH5
|
|
.* TLS +LOCAL +DEFAULT +9 sH6
|
|
.* TLS +LOCAL +DEFAULT +9 sH8
|
|
.* TLS +LOCAL +DEFAULT +8 sh1
|
|
.* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_
|
|
.* TLS +LOCAL +DEFAULT +8 sh2
|
|
.* TLS +LOCAL +DEFAULT +8 sh6
|
|
.* TLS +GLOBAL +DEFAULT +8 sg8
|
|
.* TLS +GLOBAL +DEFAULT +8 sg3
|
|
.* TLS +GLOBAL +DEFAULT +8 sg4
|
|
.* TLS +GLOBAL +DEFAULT +8 sg5
|
|
.* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
|
|
.* TLS +GLOBAL +DEFAULT +8 sg1
|
|
.* FUNC +GLOBAL +DEFAULT +7 fn1
|
|
.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
|
|
.* TLS +GLOBAL +DEFAULT +8 sg2
|
|
.* TLS +GLOBAL +DEFAULT +8 sg6
|
|
.* TLS +GLOBAL +DEFAULT +8 sg7
|
|
.* NOTYPE +GLOBAL +DEFAULT +12 _edata
|
|
.* NOTYPE +GLOBAL +DEFAULT +12 _end
|