Add translations for various sub-directories
[binutils-gdb.git] / gdb / testsuite / gdb.dwarf2 / debug-names-tu.exp.tcl
blobb688f4d7b7f55d1c86b0579f5ec65fc58e3164d5
1 # Copyright 2022-2024 Free Software Foundation, Inc.
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.
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.
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/>.
16 load_lib dwarf.exp
18 # This test can only be run on targets which support DWARF-2 and use gas.
19 if {![dwarf2_support]} {
20 return 0
23 standard_testfile _start.c debug-names.S
25 set func_info_vars \
26 [get_func_info _start [list debug additional_flags=-nostartfiles]]
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 dwarf_version
35 global func_info_vars
36 foreach var $func_info_vars {
37 global $var
40 cu { label cu_label version $dwarf_version } {
41 compile_unit {{language @DW_LANG_C}} {
42 subprogram {
43 {DW_AT_name _start}
44 {DW_AT_low_pc $_start_start DW_FORM_addr}
45 {DW_AT_high_pc $_start_end DW_FORM_addr}
50 tu { label tu_label version $dwarf_version } 0x8ece66f4224fddb3 "" {
51 type_unit {} {
52 declare_labels int_type
54 structure_type {
55 {name struct_with_int_member}
56 {byte_size 4 sdata}
57 } {
58 member {
59 {name member}
60 {type :$int_type}
63 int_type: base_type {
64 {name int}
65 {encoding @DW_ATE_signed}
66 {byte_size 4 sdata}
71 debug_names {} {
72 cu cu_label
73 tu tu_label
74 name _start subprogram cu_label 0xEDDB6232
75 name struct_with_int_member structure_type tu_label 0x53A2AE86
79 if [prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" \
80 [list additional_flags=-nostartfiles]] {
81 return -1
84 # Verify that .debug_names section is not ignored.
85 set index [have_index $binfile]
86 gdb_assert { [string equal $index "debug_names"] } ".debug_names used"
88 # Verify that we can find the type in the type unit.
89 set re \
90 [multi_line \
91 "type = struct struct_with_int_member {" \
92 " int member;" \
93 "}"]
94 gdb_test "ptype struct struct_with_int_member" $re