Add dwarf2_per_bfd::start_reading
[binutils-gdb.git] / gdb / testsuite / gdb.dwarf2 / debug-names.exp
blob74c919278c0ddd8a76da8b1600967fe5d43449ef
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 require dwarf2_support
21 standard_testfile _start.c debug-names.S
23 set func_info_vars \
24     [get_func_info _start [list debug additional_flags=-nostartfiles]]
26 # Create the DWARF.
27 set asm_file [standard_output_file $srcfile2]
28 Dwarf::assemble {
29     filename $asm_file
30     add_dummy_cus 0
31 } {
32     global func_info_vars
33     foreach var $func_info_vars {
34         global $var
35     }
37     cu { label cu_label } {
38         compile_unit {{language @DW_LANG_C}} {
39             subprogram {
40                 {DW_AT_name _start}
41                 {DW_AT_low_pc $_start_start DW_FORM_addr}
42                 {DW_AT_high_pc $_start_end DW_FORM_addr}
43             }
44             base_type {
45                 {name int}
46                 {byte_size 4 sdata}
47                 {encoding @DW_ATE_signed}
48             }
49         }
50     }
52     debug_names {} {
53         cu cu_label
54         name _start subprogram cu_label 0xEDDB6232
55         name int base_type cu_label 0xB888030
56     }
59 if [prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" \
60         [list additional_flags=-nostartfiles]] {
61     return -1
64 # Verify that .debug_names section is not ignored.
65 set index [have_index $binfile]
66 gdb_assert { [string equal $index "debug_names"] } ".debug_names used"
68 # Verify that initially no symtab is expanded.
69 gdb_test_no_output "maint info symtabs"
71 # Verify that _start is found in the debuginfo, rather than in the minimal
72 # symbols, which would result instead in:
73 #   $1 = {<text variable, no debug info>} $hex <_start>
74 gdb_test "print _start" " = {void \\(\\)} $hex <_start>"