mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-03 04:12:10 +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.
157 lines
5.0 KiB
Plaintext
157 lines
5.0 KiB
Plaintext
|
|
.*: +file format .*
|
|
|
|
Contents of the .debug_info section:
|
|
|
|
Compilation Unit @ offset 0x0:
|
|
Length: 0x5e \(32-bit\)
|
|
Version: 2
|
|
Abbrev Offset: 0x0
|
|
Pointer Size: 4
|
|
<0><b>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
|
|
<c> DW_AT_stmt_list : 0x0
|
|
<10> DW_AT_high_pc : 0x4
|
|
<14> DW_AT_low_pc : 0x0
|
|
<18> DW_AT_name : file1.txt
|
|
<22> DW_AT_producer : GNU C 3.3.3
|
|
<2e> DW_AT_language : 1 \(ANSI C\)
|
|
<1><2f>: Abbrev Number: 2 \(DW_TAG_subprogram\)
|
|
<30> DW_AT_external : 1
|
|
<31> DW_AT_decl_file : 1
|
|
<32> DW_AT_decl_line : 2
|
|
<33> DW_AT_name : func_cu1
|
|
<3c> DW_AT_type : <0x85>
|
|
<40> DW_AT_low_pc : 0x0
|
|
<44> DW_AT_high_pc : 0x4
|
|
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5 \([^()]*\)\)
|
|
<1><4a>: Abbrev Number: 3 \(DW_TAG_base_type\)
|
|
<4b> DW_AT_name : int1
|
|
<50> DW_AT_byte_size : 4
|
|
<51> DW_AT_encoding : 5 \(signed\)
|
|
<1><52>: Abbrev Number: 4 \(DW_TAG_const_type\)
|
|
<53> DW_AT_type : <0x4a>
|
|
<1><57>: Abbrev Number: 5 \(DW_TAG_variable\)
|
|
<58> DW_AT_name : one
|
|
<5c> DW_AT_type : <0x52>
|
|
<60> DW_AT_const_value : 1
|
|
<1><61>: Abbrev Number: 0
|
|
Compilation Unit @ offset 0x62:
|
|
Length: 0x37 \(32-bit\)
|
|
Version: 2
|
|
Abbrev Offset: 0x45
|
|
Pointer Size: 4
|
|
<0><6d>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
|
|
<6e> DW_AT_name : file1.txt
|
|
<78> DW_AT_producer : GNU C 3.3.3
|
|
<84> DW_AT_language : 1 \(ANSI C\)
|
|
<1><85>: Abbrev Number: 2 \(DW_TAG_base_type\)
|
|
<86> DW_AT_name : int2
|
|
<8b> DW_AT_byte_size : 4
|
|
<8c> DW_AT_encoding : 5 \(signed\)
|
|
<1><8d>: Abbrev Number: 3 \(DW_TAG_const_type\)
|
|
<8e> DW_AT_type : <0x85>
|
|
<1><92>: Abbrev Number: 4 \(DW_TAG_variable\)
|
|
<93> DW_AT_name : two
|
|
<97> DW_AT_type : <0x8d>
|
|
<9b> DW_AT_const_value : 2
|
|
<1><9c>: Abbrev Number: 0
|
|
|
|
Contents of the .debug_abbrev section:
|
|
|
|
Number TAG \(0x0\)
|
|
1 DW_TAG_compile_unit \[has children\]
|
|
DW_AT_stmt_list DW_FORM_data4
|
|
DW_AT_high_pc DW_FORM_addr
|
|
DW_AT_low_pc DW_FORM_addr
|
|
DW_AT_name DW_FORM_string
|
|
DW_AT_producer DW_FORM_string
|
|
DW_AT_language DW_FORM_data1
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
2 DW_TAG_subprogram \[no children\]
|
|
DW_AT_external DW_FORM_flag
|
|
DW_AT_decl_file DW_FORM_data1
|
|
DW_AT_decl_line DW_FORM_data1
|
|
DW_AT_name DW_FORM_string
|
|
DW_AT_type DW_FORM_ref_addr
|
|
DW_AT_low_pc DW_FORM_addr
|
|
DW_AT_high_pc DW_FORM_addr
|
|
DW_AT_frame_base DW_FORM_block1
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
3 DW_TAG_base_type \[no children\]
|
|
DW_AT_name DW_FORM_string
|
|
DW_AT_byte_size DW_FORM_data1
|
|
DW_AT_encoding DW_FORM_data1
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
4 DW_TAG_const_type \[no children\]
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
5 DW_TAG_variable \[no children\]
|
|
DW_AT_name DW_FORM_string
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT_const_value DW_FORM_data1
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
Number TAG \(0x45\)
|
|
1 DW_TAG_compile_unit \[has children\]
|
|
DW_AT_name DW_FORM_string
|
|
DW_AT_producer DW_FORM_string
|
|
DW_AT_language DW_FORM_data1
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
2 DW_TAG_base_type \[no children\]
|
|
DW_AT_name DW_FORM_string
|
|
DW_AT_byte_size DW_FORM_data1
|
|
DW_AT_encoding DW_FORM_data1
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
3 DW_TAG_const_type \[no children\]
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
4 DW_TAG_variable \[no children\]
|
|
DW_AT_name DW_FORM_string
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT_const_value DW_FORM_data1
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
|
|
Raw dump of debug contents of section .debug_line:
|
|
|
|
Offset: 0x0
|
|
Length: 62
|
|
DWARF Version: 2
|
|
Prologue Length: 35
|
|
Minimum Instruction Length: 1
|
|
Initial value of 'is_stmt': 1
|
|
Line Base: 1
|
|
Line Range: 1
|
|
Opcode Base: 16
|
|
|
|
Opcodes:
|
|
Opcode 1 has 0 args
|
|
Opcode 2 has 1 arg
|
|
Opcode 3 has 1 arg
|
|
Opcode 4 has 1 arg
|
|
Opcode 5 has 1 arg
|
|
Opcode 6 has 0 args
|
|
Opcode 7 has 0 args
|
|
Opcode 8 has 0 args
|
|
Opcode 9 has 1 arg
|
|
Opcode 10 has 0 args
|
|
Opcode 11 has 0 args
|
|
Opcode 12 has 1 arg
|
|
Opcode 13 has 0 args
|
|
Opcode 14 has 0 args
|
|
Opcode 15 has 0 args
|
|
|
|
The Directory Table is empty.
|
|
|
|
The File Name Table \(offset 0x1f\):
|
|
Entry Dir Time Size Name
|
|
1 0 0 0 file1.txt
|
|
|
|
Line Number Statements:
|
|
\[0x0000002d\] Extended opcode 2: set Address to 0x0
|
|
\[0x00000034\] Advance Line by 3 to 4
|
|
\[0x00000036\] Copy
|
|
\[0x00000037\] Copy \(view 1\)
|
|
\[0x00000038\] Extended opcode 2: set Address to 0x4
|
|
\[0x0000003f\] Extended opcode 1: End of Sequence
|
|
|
|
|