Skip to content

Commit bb3d96a

Browse files
ivanivanov884jeffmahoney
authored andcommitted
gdb-bz601887-dwarf4-rh-test.patch
;; Backport DWARF-4 support (BZ 601887, Tom Tromey). ;;=fedoratest
1 parent 7d4dfa9 commit bb3d96a

File tree

3 files changed

+231
-0
lines changed

3 files changed

+231
-0
lines changed
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
/* This testcase is part of GDB, the GNU debugger.
2+
3+
Copyright 2010 Free Software Foundation, Inc.
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 3 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program. If not, see <http://www.gnu.org/licenses/>. */
17+
18+
.file "rh-dwarf4-x86_64.c"
19+
.section .debug_abbrev,"",@progbits
20+
.Ldebug_abbrev0:
21+
.section .debug_info,"",@progbits
22+
.Ldebug_info0:
23+
.section .debug_line,"",@progbits
24+
.Ldebug_line0:
25+
.text
26+
.Ltext0:
27+
.globl main
28+
.type main, @function
29+
main:
30+
.LFB0:
31+
.file 1 "gdb.dwarf2/rh-dwarf4-x86_64.c"
32+
# gdb.dwarf2/rh-dwarf4-x86_64.c:20
33+
.loc 1 20 0
34+
.cfi_startproc
35+
# basic block 2
36+
pushq %rbp
37+
.cfi_def_cfa_offset 16
38+
movq %rsp, %rbp
39+
.cfi_offset 6, -16
40+
.cfi_def_cfa_register 6
41+
# gdb.dwarf2/rh-dwarf4-x86_64.c:21
42+
.loc 1 21 0
43+
movl $0, %eax
44+
# gdb.dwarf2/rh-dwarf4-x86_64.c:22
45+
.loc 1 22 0
46+
leave
47+
.cfi_def_cfa 7, 8
48+
ret
49+
.cfi_endproc
50+
.LFE0:
51+
.size main, .-main
52+
.Letext0:
53+
.section .debug_info
54+
.long 0x4e # Length of Compilation Unit Info
55+
.value 0x4 # DWARF version number
56+
.long .Ldebug_abbrev0 # Offset Into Abbrev. Section
57+
.byte 0x8 # Pointer Size (in bytes)
58+
.uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit)
59+
.long .LASF0 # DW_AT_producer: "GNU C 4.4.4 20100503 (Red Hat 4.4.4-2)"
60+
.byte 0x1 # DW_AT_language
61+
.long .LASF1 # DW_AT_name: "gdb.dwarf2/rh-dwarf4-x86_64.c"
62+
.long .LASF2 # DW_AT_comp_dir
63+
.quad .Ltext0 # DW_AT_low_pc
64+
.quad .Letext0 # DW_AT_high_pc
65+
.long .Ldebug_line0 # DW_AT_stmt_list
66+
.uleb128 0x2 # (DIE (0x2d) DW_TAG_subprogram)
67+
# DW_AT_external
68+
.long .LASF3 # DW_AT_name: "main"
69+
.byte 0x1 # DW_AT_decl_file (gdb.dwarf2/rh-dwarf4-x86_64.c)
70+
.byte 0x13 # DW_AT_decl_line
71+
# DW_AT_prototyped
72+
.long 0x4a # DW_AT_type
73+
.quad .LFB0 # DW_AT_low_pc
74+
.quad .LFE0 # DW_AT_high_pc
75+
.uleb128 0x1 # DW_AT_frame_base
76+
.byte 0x9c # DW_OP_call_frame_cfa
77+
.uleb128 0x3 # (DIE (0x4a) DW_TAG_base_type)
78+
.byte 0x4 # DW_AT_byte_size
79+
.byte 0x5 # DW_AT_encoding
80+
.ascii "int\0" # DW_AT_name
81+
.byte 0x0 # end of children of DIE 0xb
82+
.section .debug_abbrev
83+
.uleb128 0x1 # (abbrev code)
84+
.uleb128 0x11 # (TAG: DW_TAG_compile_unit)
85+
.byte 0x1 # DW_children_yes
86+
.uleb128 0x25 # (DW_AT_producer)
87+
.uleb128 0xe # (DW_FORM_strp)
88+
.uleb128 0x13 # (DW_AT_language)
89+
.uleb128 0xb # (DW_FORM_data1)
90+
.uleb128 0x3 # (DW_AT_name)
91+
.uleb128 0xe # (DW_FORM_strp)
92+
.uleb128 0x1b # (DW_AT_comp_dir)
93+
.uleb128 0xe # (DW_FORM_strp)
94+
.uleb128 0x11 # (DW_AT_low_pc)
95+
.uleb128 0x1 # (DW_FORM_addr)
96+
.uleb128 0x12 # (DW_AT_high_pc)
97+
.uleb128 0x1 # (DW_FORM_addr)
98+
.uleb128 0x10 # (DW_AT_stmt_list)
99+
.uleb128 0x17 # (DW_FORM_sec_offset)
100+
.byte 0x0
101+
.byte 0x0
102+
.uleb128 0x2 # (abbrev code)
103+
.uleb128 0x2e # (TAG: DW_TAG_subprogram)
104+
.byte 0x0 # DW_children_no
105+
.uleb128 0x3f # (DW_AT_external)
106+
.uleb128 0x19 # (DW_FORM_flag_present)
107+
.uleb128 0x3 # (DW_AT_name)
108+
.uleb128 0xe # (DW_FORM_strp)
109+
.uleb128 0x3a # (DW_AT_decl_file)
110+
.uleb128 0xb # (DW_FORM_data1)
111+
.uleb128 0x3b # (DW_AT_decl_line)
112+
.uleb128 0xb # (DW_FORM_data1)
113+
.uleb128 0x27 # (DW_AT_prototyped)
114+
.uleb128 0x19 # (DW_FORM_flag_present)
115+
.uleb128 0x49 # (DW_AT_type)
116+
.uleb128 0x13 # (DW_FORM_ref4)
117+
.uleb128 0x11 # (DW_AT_low_pc)
118+
.uleb128 0x1 # (DW_FORM_addr)
119+
.uleb128 0x12 # (DW_AT_high_pc)
120+
.uleb128 0x1 # (DW_FORM_addr)
121+
.uleb128 0x40 # (DW_AT_frame_base)
122+
.uleb128 0x18 # (DW_FORM_exprloc)
123+
.byte 0x0
124+
.byte 0x0
125+
.uleb128 0x3 # (abbrev code)
126+
.uleb128 0x24 # (TAG: DW_TAG_base_type)
127+
.byte 0x0 # DW_children_no
128+
.uleb128 0xb # (DW_AT_byte_size)
129+
.uleb128 0xb # (DW_FORM_data1)
130+
.uleb128 0x3e # (DW_AT_encoding)
131+
.uleb128 0xb # (DW_FORM_data1)
132+
.uleb128 0x3 # (DW_AT_name)
133+
.uleb128 0x8 # (DW_FORM_string)
134+
.byte 0x0
135+
.byte 0x0
136+
.byte 0x0
137+
.section .debug_pubnames,"",@progbits
138+
.long 0x17 # Length of Public Names Info
139+
.value 0x2 # DWARF Version
140+
.long .Ldebug_info0 # Offset of Compilation Unit Info
141+
.long 0x52 # Compilation Unit Length
142+
.long 0x2d # DIE offset
143+
.ascii "main\0" # external name
144+
.long 0x0
145+
.section .debug_aranges,"",@progbits
146+
.long 0x2c # Length of Address Ranges Info
147+
.value 0x2 # DWARF Version
148+
.long .Ldebug_info0 # Offset of Compilation Unit Info
149+
.byte 0x8 # Size of Address
150+
.byte 0x0 # Size of Segment Descriptor
151+
.value 0x0 # Pad to 16 byte boundary
152+
.value 0x0
153+
.quad .Ltext0 # Address
154+
.quad .Letext0-.Ltext0 # Length
155+
.quad 0x0
156+
.quad 0x0
157+
.section .debug_str,"MS",@progbits,1
158+
.LASF2:
159+
.string "."
160+
.LASF0:
161+
.string "GNU C 4.4.4 20100503 (Red Hat 4.4.4-2)"
162+
.LASF1:
163+
.string "gdb.dwarf2/rh-dwarf4-x86_64.c"
164+
.LASF3:
165+
.string "main"
166+
.ident "GCC: (GNU) 4.4.4 20100503 (Red Hat 4.4.4-2)"
167+
.section .note.GNU-stack,"",@progbits
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/* This testcase is part of GDB, the GNU debugger.
2+
3+
Copyright 2010 Free Software Foundation, Inc.
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 3 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program. If not, see <http://www.gnu.org/licenses/>. */
17+
18+
int
19+
main (void)
20+
{
21+
return 0;
22+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Copyright 2010 Free Software Foundation, Inc.
2+
3+
# This program is free software; you can redistribute it and/or modify
4+
# it under the terms of the GNU General Public License as published by
5+
# the Free Software Foundation; either version 3 of the License, or
6+
# (at your option) any later version.
7+
#
8+
# This program is distributed in the hope that it will be useful,
9+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
# GNU General Public License for more details.
12+
#
13+
# You should have received a copy of the GNU General Public License
14+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
16+
# This test can only be run on targets which support DWARF-2 and use gas.
17+
# For now pick a sampling of likely targets.
18+
if {![istarget *-*-linux*]
19+
&& ![istarget *-*-gnu*]
20+
&& ![istarget *-*-elf*]
21+
&& ![istarget *-*-openbsd*]
22+
&& ![istarget arm-*-eabi*]
23+
&& ![istarget powerpc-*-eabi*]} {
24+
return 0
25+
}
26+
27+
if {![istarget x86_64-*]} {
28+
return 0
29+
}
30+
31+
set testfile "rh-dwarf4-x86_64"
32+
set srcfile ${testfile}.S
33+
set executable ${testfile}.x
34+
set binfile [standard_output_file ${executable}]
35+
36+
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "" } {
37+
return -1
38+
}
39+
40+
clean_restart $executable
41+
42+
gdb_test "ptype main" {type = int \(void\)}

0 commit comments

Comments
 (0)