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.
146 lines
4.9 KiB
R
146 lines
4.9 KiB
R
#source: tlspic3.s
|
|
#source: tlspic2.s
|
|
#as: --64
|
|
#ld: -shared -melf_x86_64_nacl --no-ld-generated-unwind-info
|
|
#readelf: -WSsrl
|
|
#target: x86_64-*-nacl*
|
|
|
|
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]+\] .plt +.*
|
|
+\[[ 0-9]+\] .text +PROGBITS +0+1000 [0-9a-f]+ 0+31a 00 +AX +0 +0 4096
|
|
+\[[ 0-9]+\] .hash +.*
|
|
+\[[ 0-9]+\] .dynsym +.*
|
|
+\[[ 0-9]+\] .dynstr +.*
|
|
+\[[ 0-9]+\] .rela.dyn +.*
|
|
+\[[ 0-9]+\] .rela.plt +.*
|
|
+\[[ 0-9]+\] .tdata +PROGBITS +0+100104c8 [0-9a-f]+ 0+60 00 WAT +0 +0 +1
|
|
+\[[ 0-9]+\] .tbss +NOBITS +0+10010528 [0-9a-f]+ 0+20 00 WAT +0 +0 +1
|
|
+\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010528 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
|
|
+\[[ 0-9]+\] .got +PROGBITS +0+10010658 [0-9a-f]+ 0+98 08 +WA +0 +0 +8
|
|
+\[[ 0-9]+\] .got.plt +PROGBITS +0+100106f0 [0-9a-f]+ 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+10000 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
|
|
+LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+4c8 0x0+4c8 R +0x10000
|
|
+LOAD +0x0+4c8 0x0+100104c8 0x0+100104c8 0x0+248 0x0+248 RW +0x10000
|
|
+DYNAMIC +0x0+528 0x0+10010528 0x0+10010528 0x0+130 0x0+130 RW +0x8
|
|
+TLS +0x0+4c8 0x0+100104c8 0x0+100104c8 0x0+60 0x0+80 R +0x1
|
|
|
|
Section to Segment mapping:
|
|
+Segment Sections...
|
|
+00 +.plt .text *
|
|
+01 +.hash .dynsym .dynstr .rela.dyn .rela.plt *
|
|
+02 +.tdata .dynamic .got .got.plt *
|
|
+03 +.dynamic *
|
|
+04 +.tdata .tbss *
|
|
|
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 15 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_GLOB_DAT +0+ __tls_get_addr \+ 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 +2 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/tlspic3.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 +2 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
|