]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.dwarf2/debug-names-bad-cu-index.exp
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.dwarf2 / debug-names-bad-cu-index.exp
1 # Copyright 2022-2023 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 load_lib dwarf.exp
17
18 # This test can only be run on targets which support DWARF-2 and use gas.
19 if {![dwarf2_support]} {
20 return 0
21 }
22
23 standard_testfile _start.c debug-names.S
24
25 set func_info_vars \
26 [get_func_info _start [list debug additional_flags=-nostartfiles]]
27
28 # Create the DWARF.
29 set asm_file [standard_output_file $srcfile2]
30 Dwarf::assemble {
31 filename $asm_file
32 add_dummy_cus 0
33 } {
34 global func_info_vars
35 foreach var $func_info_vars {
36 global $var
37 }
38
39 cu { label cu_label } {
40 compile_unit {{language @DW_LANG_C}} {
41 subprogram {
42 {DW_AT_name _start}
43 {DW_AT_low_pc $_start_start DW_FORM_addr}
44 {DW_AT_high_pc $_start_end DW_FORM_addr}
45 }
46 }
47 }
48
49 tu { label tu_label } 0x8ece66f4224fddb3 "" {
50 type_unit {} {
51 declare_labels int_type
52
53 structure_type {
54 {name struct_with_int_member}
55 {byte_size 4 sdata}
56 } {
57 member {
58 {name member}
59 {type :$int_type}
60 }
61 }
62 int_type: base_type {
63 {name int}
64 {encoding @DW_ATE_signed}
65 {byte_size 4 sdata}
66 }
67 }
68 }
69
70 debug_names {} {
71 cu cu_label
72 tu tu_label
73 name _start subprogram CU-1 0xEDDB6232
74 name struct_with_int_member structure_type tu_label 0x53A2AE86
75 }
76 }
77
78 if [prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" \
79 [list additional_flags=-nostartfiles]] {
80 return -1
81 }
82
83 # Verify that .debug_names section is not ignored.
84 set index [have_index $binfile]
85 gdb_assert { [string equal $index "debug_names"] } ".debug_names used"
86
87 set re "During symbol reading: .debug_names entry has bad CU index 1 "
88 with_complaints 1 {
89 gdb_test "p _start" "$re.*"
90 }