Automatic Copyright Year update after running gdb/copyright.py
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.dwarf2 / corrupt.exp
CommitLineData
88b9d363 1# Copyright 2014-2022 Free Software Foundation, Inc.
22869d73
KS
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# Test corrupt DWARF input
17# PR gdb/15827
18
19load_lib dwarf.exp
20
21if {![dwarf2_support]} {
22 return 0
23}
24
8c161360 25standard_testfile main.c .S
22869d73
KS
26
27# Make the DWARF used for the test.
28#
29# Here we put DW_AT_sibling DIEs into the output which
30# point off into la-la land. The whole purpose is to simulate
31# corrupt DWARF information and make sure that GDB can handle it
32# without crashing.
33
34set asm_file [standard_output_file $srcfile2]
35Dwarf::assemble $asm_file {
36 cu {} {
37 compile_unit {} {
38 declare_labels int_label
39
40 int_label: base_type {
f2e0d4b4 41 {byte_size 4 sdata}
22869d73
KS
42 {name "int"}
43 }
44
45 enumeration_type {
46 {name "ENUM"}
f2e0d4b4 47 {byte_size 4 sdata}
22869d73
KS
48 } {
49 enumerator {
50 {name "A"}
f2e0d4b4 51 {const_value 0 sdata}
22869d73
KS
52 }
53 enumerator {
54 {name "B"}
f2e0d4b4 55 {const_value 1 sdata}
22869d73
KS
56 {sibling 12345678 DW_FORM_ref4}
57 } {
58 base_type {
f2e0d4b4 59 {byte_size 1 sdata}
22869d73
KS
60 {name "char"}
61 }
62 }
63 array_type {
64 {type :$int_label}
65 {sibling 12345678 DW_FORM_ref4}
66 }
67 }
68 }
69 }
70}
71
5b362f04 72if {[prepare_for_testing "failed to prepare" $testfile \
22869d73
KS
73 [list $srcfile $asm_file] {nodebug}]} {
74 return -1
75}
76
77gdb_test "print 1" "= 1" "recover from corrupt DWARF"
This page took 0.878866 seconds and 4 git commands to generate.