diff options
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/objcopy.c | 3 | ||||
-rw-r--r-- | binutils/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/compress.exp | 2 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/dw2-1.W | 4 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/dw2-3.W | 6 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/dw2-3gabi.W | 156 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/objdump.W | 6 |
8 files changed, 183 insertions, 9 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 999d6d2..b0a5b1b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2015-04-23 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/18209 + * objcopy.c (setup_section): Copy compress status. + 2015-04-15 H.J. Lu <hongjiu.lu@intel.com> * NEWS: Mention diff --git a/binutils/objcopy.c b/binutils/objcopy.c index f7fc814..7f1bd76 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -2929,6 +2929,9 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg) /* Copy merge entity size. */ osection->entsize = isection->entsize; + /* Copy compress status. */ + osection->compress_status = isection->compress_status; + /* This used to be mangle_section; we do here to avoid using bfd_get_section_by_name since some formats allow multiple sections with the same name. */ diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 066aa7e..52daa35 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2015-04-23 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/18209 + * binutils-all/compress.exp: Replace dw2-3.W with dw2-3gabi.W + on zlib-gabi output. + * binutils-all/dw2-1.W: Convert section names to .zdebug_*. + * binutils-all/dw2-3.W: Likewise. + * binutils-all/objdump.W: Likewise. + * binutils-all/dw2-3gabi.W: New file. + 2015-04-20 H.J. Lu <hongjiu.lu@intel.com> * binutils-all/i386/compressed-1b.d: Don't hardcode offset of diff --git a/binutils/testsuite/binutils-all/compress.exp b/binutils/testsuite/binutils-all/compress.exp index 4d3b71c..8787e77 100644 --- a/binutils/testsuite/binutils-all/compress.exp +++ b/binutils/testsuite/binutils-all/compress.exp @@ -566,7 +566,7 @@ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then { fail "$testname" send_log "$got\n" } -if { [regexp_diff objdump.out $srcdir/$subdir/dw2-3.W] } then { +if { [regexp_diff objdump.out $srcdir/$subdir/dw2-3gabi.W] } then { fail "$testname" } else { pass "$testname" diff --git a/binutils/testsuite/binutils-all/dw2-1.W b/binutils/testsuite/binutils-all/dw2-1.W index 3811019..d70581b 100644 --- a/binutils/testsuite/binutils-all/dw2-1.W +++ b/binutils/testsuite/binutils-all/dw2-1.W @@ -1,7 +1,7 @@ .*dw2-1-compressed.o: file format .* -Contents of the .debug_info section: +Contents of the .z?debug_info section: Compilation Unit @ offset 0x0: Length: 0x4e \(32-bit\) @@ -30,7 +30,7 @@ Contents of the .debug_info section: <50> DW_AT_encoding : 5 \(signed\) <1><51>: Abbrev Number: 0 -Raw dump of debug contents of section .debug_line: +Raw dump of debug contents of section .z?debug_line: Offset: 0x0 Length: 62 diff --git a/binutils/testsuite/binutils-all/dw2-3.W b/binutils/testsuite/binutils-all/dw2-3.W index 0d0fe6a..4e97a1c 100644 --- a/binutils/testsuite/binutils-all/dw2-3.W +++ b/binutils/testsuite/binutils-all/dw2-3.W @@ -1,7 +1,7 @@ .*: +file format .* -Contents of the .debug_info section: +Contents of the .zdebug_info section: Compilation Unit @ offset 0x0: Length: 0x5e \(32-bit\) @@ -56,7 +56,7 @@ Contents of the .debug_info section: <9b> DW_AT_const_value : 2 <1><9c>: Abbrev Number: 0 -Contents of the .debug_abbrev section: +Contents of the .zdebug_abbrev section: Number TAG \(0x0\) 1 DW_TAG_compile_unit \[has children\] @@ -110,7 +110,7 @@ Contents of the .debug_abbrev section: DW_AT_const_value DW_FORM_data1 DW_AT value: 0 DW_FORM value: 0 -Raw dump of debug contents of section .debug_line: +Raw dump of debug contents of section .z?debug_line: Offset: 0x0 Length: 62 diff --git a/binutils/testsuite/binutils-all/dw2-3gabi.W b/binutils/testsuite/binutils-all/dw2-3gabi.W new file mode 100644 index 0000000..0d0fe6a --- /dev/null +++ b/binutils/testsuite/binutils-all/dw2-3gabi.W @@ -0,0 +1,156 @@ + +.*: +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 args + Opcode 3 has 1 args + Opcode 4 has 1 args + Opcode 5 has 1 args + Opcode 6 has 0 args + Opcode 7 has 0 args + Opcode 8 has 0 args + Opcode 9 has 1 args + Opcode 10 has 0 args + Opcode 11 has 0 args + Opcode 12 has 1 args + 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 + \[0x00000038\] Extended opcode 2: set Address to 0x4 + \[0x0000003f\] Extended opcode 1: End of Sequence + + diff --git a/binutils/testsuite/binutils-all/objdump.W b/binutils/testsuite/binutils-all/objdump.W index 48dde48..a5379d0 100644 --- a/binutils/testsuite/binutils-all/objdump.W +++ b/binutils/testsuite/binutils-all/objdump.W @@ -1,7 +1,7 @@ .*dw2-compressed.o: file format .* -Contents of the .debug_info section: +Contents of the .z?debug_info section: Compilation Unit @ offset 0x0: Length: 0x4e \(32-bit\) @@ -30,7 +30,7 @@ Contents of the .debug_info section: <50> DW_AT_encoding : 5 \(signed\) <1><51>: Abbrev Number: 0 -Raw dump of debug contents of section .debug_line: +Raw dump of debug contents of section .z?debug_line: Offset: 0x0 Length: 62 @@ -74,7 +74,7 @@ Raw dump of debug contents of section .debug_line: \[0x.*\] Extended opcode 1: End of Sequence -Contents of the .debug_abbrev section: +Contents of the .zdebug_abbrev section: Number TAG \(0x0\) 1 DW_TAG_compile_unit \[has children\] |