1#PROG: objcopy
2#source: compressed-1.s
3#as: --32 --compress-debug-sections --gdwarf-3
4#objcopy:
5#readelf: -w
6#name: objcopy on compressed debug sections
7
8Contents of the .[z]?debug_abbrev section:
9
10  Number TAG \(0x0\)
11   1      DW_TAG_compile_unit    \[has children\]
12    DW_AT_producer     DW_FORM_strp
13    DW_AT_language     DW_FORM_data1
14    DW_AT_name         DW_FORM_strp
15    DW_AT_comp_dir     DW_FORM_strp
16    DW_AT_low_pc       DW_FORM_addr
17    DW_AT_high_pc      DW_FORM_addr
18    DW_AT_stmt_list    DW_FORM_data4
19    DW_AT value: 0     DW_FORM value: 0
20   2      DW_TAG_subprogram    \[no children\]
21    DW_AT_external     DW_FORM_flag
22    DW_AT_name         DW_FORM_strp
23    DW_AT_decl_file    DW_FORM_data1
24    DW_AT_decl_line    DW_FORM_data1
25    DW_AT_low_pc       DW_FORM_addr
26    DW_AT_high_pc      DW_FORM_addr
27    DW_AT_frame_base   DW_FORM_block1
28    DW_AT value: 0     DW_FORM value: 0
29
30Contents of the .[z]?debug_info section:
31
32  Compilation Unit @ offset 0x0:
33   Length:        0x46 \(32-bit\)
34   Version:       3
35   Abbrev Offset: 0x0
36   Pointer Size:  4
37 <0><b>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
38    <c>   DW_AT_producer    : \(indirect string, offset: 0x0\): GNU C 4.4.4
39    <10>   DW_AT_language    : 1	\(ANSI C\)
40    <11>   DW_AT_name        : \(indirect string, offset: 0x18\): compressed-1.c
41    <15>   DW_AT_comp_dir    : \(indirect string, offset: 0x16\): .
42    <19>   DW_AT_low_pc      : 0x0
43    <1d>   DW_AT_high_pc     : 0x1b
44    <21>   DW_AT_stmt_list   : 0x0
45 <1><25>: Abbrev Number: 2 \(DW_TAG_subprogram\)
46    <26>   DW_AT_external    : 1
47    <27>   DW_AT_name        : \(indirect string, offset: 0xc\): foo2
48    <2b>   DW_AT_decl_file   : 1
49    <2c>   DW_AT_decl_line   : 10
50    <2d>   DW_AT_low_pc      : 0x0
51    <31>   DW_AT_high_pc     : 0x2
52    <35>   DW_AT_frame_base  : 1 byte block: 9c 	\(DW_OP_call_frame_cfa\)
53 <1><37>: Abbrev Number: 2 \(DW_TAG_subprogram\)
54    <38>   DW_AT_external    : 1
55    <39>   DW_AT_name        : \(indirect string, offset: 0x11\): foo1
56    <3d>   DW_AT_decl_file   : 1
57    <3e>   DW_AT_decl_line   : 4
58    <3f>   DW_AT_low_pc      : 0x10
59    <43>   DW_AT_high_pc     : 0x1b
60    <47>   DW_AT_frame_base  : 1 byte block: 9c 	\(DW_OP_call_frame_cfa\)
61 <1><49>: Abbrev Number: 0
62
63Raw dump of debug contents of section .[z]?debug_line:
64
65  Offset:                      0x0
66  Length:                      64
67  DWARF Version:               .
68  Prologue Length:             37
69  Minimum Instruction Length:  1
70  Initial value of 'is_stmt':  1
71  Line Base:                   -5
72  Line Range:                  14
73  Opcode Base:                 13
74
75 Opcodes:
76  Opcode 1 has 0 args
77  Opcode 2 has 1 arg
78  Opcode 3 has 1 arg
79  Opcode 4 has 1 arg
80  Opcode 5 has 1 arg
81  Opcode 6 has 0 args
82  Opcode 7 has 0 args
83  Opcode 8 has 0 args
84  Opcode 9 has 1 arg
85  Opcode 10 has 0 args
86  Opcode 11 has 0 args
87  Opcode 12 has 1 arg
88
89 The Directory Table is empty.
90
91 The File Name Table \(offset 0x.*\):
92  Entry	Dir	Time	Size	Name
93  1	0	0	0	compressed-1.c
94
95 Line Number Statements:
96  \[0x.*\]  Extended opcode 2: set Address to 0x0
97  \[0x.*\]  Advance Line by 10 to 11
98  \[0x.*\]  Copy
99  \[0x.*\]  Special opcode 6: advance Address by 0 to 0x0 and Line by 1 to 12 \(view 1\)
100  \[0x.*\]  Advance Line by -7 to 5
101  \[0x.*\]  Special opcode 229: advance Address by 16 to 0x10 and Line by 0 to 5
102  \[0x.*\]  Special opcode 49: advance Address by 3 to 0x13 and Line by 2 to 7
103  \[0x.*\]  Special opcode 46: advance Address by 3 to 0x16 and Line by -1 to 6
104  \[0x.*\]  Advance PC by 5 to 0x1b
105  \[0x.*\]  Extended opcode 1: End of Sequence
106
107
108Contents of the .[z]?debug_pubnames section:
109
110  Length:                              32
111  Version:                             2
112  Offset into .[z]?debug_info section:     0x0
113  Size of area in .[z]?debug_info section: 74
114
115    Offset	Name
116    25    	foo2
117    37    	foo1
118
119Contents of the .[z]?debug_aranges section:
120
121  Length:                   28
122  Version:                  2
123  Offset into .[z]?debug_info:  0x0
124  Pointer Size:             4
125  Segment Size:             0
126
127    Address    Length
128    00000000 0000001b
129    00000000 00000000
130
131Contents of the .[z]?debug_str section:
132
133  0x00000000 474e5520 4320342e 342e3400 666f6f32 GNU C 4.4.4.foo2
134  0x00000010 00666f6f 31002e00 636f6d70 72657373 .foo1...compress
135  0x00000020 65642d31 2e6300                     ed-1.c.
136
137Contents of the .[z]?debug_frame section:
138
13900000000 00000010 ffffffff CIE
140  Version:               1
141  Augmentation:          ""
142  Code alignment factor: 1
143  Data alignment factor: -4
144  Return address column: 8
145
146  DW_CFA_def_cfa: r4 \(esp\) ofs 4
147  DW_CFA_offset: r8 \(eip\) at cfa-4
148  DW_CFA_nop
149  DW_CFA_nop
150
15100000014 0000000c 00000000 FDE cie=00000000 pc=00000000..00000002
152
15300000024 00000014 00000000 FDE cie=00000000 pc=00000010..0000001b
154  DW_CFA_advance_loc: 3 to 00000013
155  DW_CFA_def_cfa_offset: 16
156  DW_CFA_advance_loc: 3 to 00000016
157  DW_CFA_def_cfa_offset: 4
158  DW_CFA_nop
159  DW_CFA_nop
160
161