mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-25 02:53:48 +08:00
Add a testcase for PR gas/18087
PR gas/18087 * gas/i386/dw2-compress-1.d: Revert the last change. * gas/i386/dw2-compress-3.d: New. * gas/i386/dw2-compress-3.s: Likewise. * gas/i386/i386.exp: Run dw2-compress-3 for ELF targets.
This commit is contained in:
parent
27aaeda0cd
commit
d94077e27d
@ -1847,7 +1847,7 @@ linker input file.
|
||||
Compress DWARF debug sections using zlib. The debug sections are
|
||||
renamed to begin with @samp{.zdebug} instead of @samp{.debug}. Note -
|
||||
if compression would actually make a section @emph{larger} then it is
|
||||
not compressed or renamed.
|
||||
not compressed or renamed.
|
||||
|
||||
@item --decompress-debug-sections
|
||||
Decompress DWARF debug sections using zlib. The original section
|
||||
|
@ -1,3 +1,11 @@
|
||||
2015-03-18 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR gas/18087
|
||||
* gas/i386/dw2-compress-1.d: Revert the last change.
|
||||
* gas/i386/dw2-compress-3.d: New.
|
||||
* gas/i386/dw2-compress-3.s: Likewise.
|
||||
* gas/i386/i386.exp: Run dw2-compress-3 for ELF targets.
|
||||
|
||||
2015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
|
||||
Nick Clifton <nickc@redhat.com>
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
#readelf: -w
|
||||
#name: DWARF2 debugging information 1
|
||||
|
||||
Contents of the .debug_info section:
|
||||
Contents of the .zdebug_info section:
|
||||
|
||||
Compilation Unit @ offset 0x0:
|
||||
Length: 0x4e \(32-bit\)
|
||||
|
103
gas/testsuite/gas/i386/dw2-compress-3.d
Normal file
103
gas/testsuite/gas/i386/dw2-compress-3.d
Normal file
@ -0,0 +1,103 @@
|
||||
#as: --compress-debug-sections
|
||||
#readelf: -w
|
||||
#name: DWARF2 debugging information 3
|
||||
|
||||
Contents of the .debug_info section:
|
||||
|
||||
Compilation Unit @ offset 0x0:
|
||||
Length: 0x32 \(32-bit\)
|
||||
Version: 4
|
||||
Abbrev Offset: 0x0
|
||||
Pointer Size: 4
|
||||
<0><b>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
|
||||
<c> DW_AT_producer : \(indirect string, offset: 0x2\): GNU C 4.8.3
|
||||
<10> DW_AT_language : 1 \(ANSI C\)
|
||||
<11> DW_AT_name : \(indirect string, offset: 0xe\): dw2-compress-3.c
|
||||
<15> DW_AT_comp_dir : \(indirect string, offset: 0x0\): .
|
||||
<19> DW_AT_stmt_list : 0x0
|
||||
<1><1d>: Abbrev Number: 2 \(DW_TAG_variable\)
|
||||
<1e> DW_AT_name : foo
|
||||
<22> DW_AT_decl_file : 1
|
||||
<23> DW_AT_decl_line : 1
|
||||
<24> DW_AT_type : <0x2e>
|
||||
<28> DW_AT_external : 1
|
||||
<28> DW_AT_location : 5 byte block: 3 4 0 0 0 \(DW_OP_addr: 4\)
|
||||
<1><2e>: Abbrev Number: 3 \(DW_TAG_base_type\)
|
||||
<2f> DW_AT_byte_size : 4
|
||||
<30> DW_AT_encoding : 5 \(signed\)
|
||||
<31> DW_AT_name : int
|
||||
<1><35>: Abbrev Number: 0
|
||||
|
||||
Contents of the .debug_abbrev section:
|
||||
|
||||
Number TAG \(0x0\)
|
||||
1 DW_TAG_compile_unit \[has children\]
|
||||
DW_AT_producer DW_FORM_strp
|
||||
DW_AT_language DW_FORM_data1
|
||||
DW_AT_name DW_FORM_strp
|
||||
DW_AT_comp_dir DW_FORM_strp
|
||||
DW_AT_stmt_list DW_FORM_sec_offset
|
||||
DW_AT value: 0 DW_FORM value: 0
|
||||
2 DW_TAG_variable \[no children\]
|
||||
DW_AT_name DW_FORM_string
|
||||
DW_AT_decl_file DW_FORM_data1
|
||||
DW_AT_decl_line DW_FORM_data1
|
||||
DW_AT_type DW_FORM_ref4
|
||||
DW_AT_external DW_FORM_flag_present
|
||||
DW_AT_location DW_FORM_exprloc
|
||||
DW_AT value: 0 DW_FORM value: 0
|
||||
3 DW_TAG_base_type \[no children\]
|
||||
DW_AT_byte_size DW_FORM_data1
|
||||
DW_AT_encoding DW_FORM_data1
|
||||
DW_AT_name DW_FORM_string
|
||||
DW_AT value: 0 DW_FORM value: 0
|
||||
|
||||
Contents of the .debug_aranges section:
|
||||
|
||||
Length: 20
|
||||
Version: 2
|
||||
Offset into .debug_info: 0x0
|
||||
Pointer Size: 4
|
||||
Segment Size: 0
|
||||
|
||||
Address Length
|
||||
00000000 00000000
|
||||
|
||||
Raw dump of debug contents of section .debug_line:
|
||||
|
||||
Offset: 0x0
|
||||
Length: 45
|
||||
DWARF Version: 2
|
||||
Prologue Length: 39
|
||||
Minimum Instruction Length: 1
|
||||
Initial value of 'is_stmt': 1
|
||||
Line Base: -5
|
||||
Line Range: 14
|
||||
Opcode Base: 13
|
||||
|
||||
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
|
||||
|
||||
The Directory Table is empty.
|
||||
|
||||
The File Name Table \(offset 0x1c\):
|
||||
Entry Dir Time Size Name
|
||||
1 0 0 0 dw2-compress-3.c
|
||||
|
||||
No Line Number Statements.
|
||||
Contents of the .debug_str section:
|
||||
|
||||
0x00000000 2e00474e 55204320 342e382e 33006477 ..GNU C 4.8.3.dw
|
||||
0x00000010 322d636f 6d707265 73732d33 2e6300 2-compress-3.c.
|
||||
|
96
gas/testsuite/gas/i386/dw2-compress-3.s
Normal file
96
gas/testsuite/gas/i386/dw2-compress-3.s
Normal file
@ -0,0 +1,96 @@
|
||||
.file "dw2-compress-3.c"
|
||||
.text
|
||||
.Ltext0:
|
||||
.comm foo,4,4
|
||||
.Letext0:
|
||||
.file 1 "dw2-compress-3.c"
|
||||
.section .debug_info,"",@progbits
|
||||
.Ldebug_info0:
|
||||
.long 0x32
|
||||
.value 0x4
|
||||
.long .Ldebug_abbrev0
|
||||
.byte 0x4
|
||||
.uleb128 0x1
|
||||
.long .LASF0
|
||||
.byte 0x1
|
||||
.long .LASF1
|
||||
.long .LASF2
|
||||
.long .Ldebug_line0
|
||||
.uleb128 0x2
|
||||
.string "foo"
|
||||
.byte 0x1
|
||||
.byte 0x1
|
||||
.long 0x2e
|
||||
.uleb128 0x5
|
||||
.byte 0x3
|
||||
.long foo
|
||||
.uleb128 0x3
|
||||
.byte 0x4
|
||||
.byte 0x5
|
||||
.string "int"
|
||||
.byte 0
|
||||
.section .debug_abbrev,"",@progbits
|
||||
.Ldebug_abbrev0:
|
||||
.uleb128 0x1
|
||||
.uleb128 0x11
|
||||
.byte 0x1
|
||||
.uleb128 0x25
|
||||
.uleb128 0xe
|
||||
.uleb128 0x13
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3
|
||||
.uleb128 0xe
|
||||
.uleb128 0x1b
|
||||
.uleb128 0xe
|
||||
.uleb128 0x10
|
||||
.uleb128 0x17
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x2
|
||||
.uleb128 0x34
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
.uleb128 0x8
|
||||
.uleb128 0x3a
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3b
|
||||
.uleb128 0xb
|
||||
.uleb128 0x49
|
||||
.uleb128 0x13
|
||||
.uleb128 0x3f
|
||||
.uleb128 0x19
|
||||
.uleb128 0x2
|
||||
.uleb128 0x18
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
.uleb128 0x24
|
||||
.byte 0
|
||||
.uleb128 0xb
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3e
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3
|
||||
.uleb128 0x8
|
||||
.byte 0
|
||||
.byte 0
|
||||
.byte 0
|
||||
.section .debug_aranges,"",@progbits
|
||||
.long 0x14
|
||||
.value 0x2
|
||||
.long .Ldebug_info0
|
||||
.byte 0x4
|
||||
.byte 0
|
||||
.value 0
|
||||
.value 0
|
||||
.long 0
|
||||
.long 0
|
||||
.section .debug_line,"",@progbits
|
||||
.Ldebug_line0:
|
||||
.section .debug_str,"MS",@progbits,1
|
||||
.LASF2:
|
||||
.string "."
|
||||
.LASF0:
|
||||
.string "GNU C 4.8.3"
|
||||
.LASF1:
|
||||
.string "dw2-compress-3.c"
|
@ -426,6 +426,7 @@ if [expr [istarget "i*86-*-*"] || [istarget "x86_64-*-*"]] then {
|
||||
run_list_test_stdin "list-2" "-al"
|
||||
run_list_test_stdin "list-3" "-al"
|
||||
run_dump_test "dw2-compress-1"
|
||||
run_dump_test "dw2-compress-3"
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1530,7 +1530,7 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED)
|
||||
the section smaller, just keep it uncompressed. */
|
||||
if (compressed_size > sec->size)
|
||||
return;
|
||||
|
||||
|
||||
/* Replace the uncompressed frag list with the compressed frag list. */
|
||||
seginfo->frchainP->frch_root = first_newf;
|
||||
seginfo->frchainP->frch_last = last_newf;
|
||||
|
Loading…
Reference in New Issue
Block a user