-# Copyright 2011-2019 Free Software Foundation, Inc.
+# Copyright 2011-2024 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
load_lib dwarf.exp
# This test can only be run on targets which support DWARF-2 and use gas.
-if {![dwarf2_support]} {
- return 0
-}
+require dwarf2_support
standard_testfile main.c
-proc test { dwarf_version offset_size addr_size ref_addr_size two_cu } {
+proc test_1 { name dwarf_version offset_size addr_size ref_addr_size two_cu } {
global testfile srcfile
- set name "d${dwarf_version}o${offset_size}a${addr_size}r${ref_addr_size}t${two_cu}"
-
# Make some DWARF for the test.
set asm_file [standard_output_file ${testfile}-${name}.S]
Dwarf::assemble $asm_file {
if { !$two_cu } {
subprogram {
- { name main }
- { low_pc main addr }
- { high_pc "main+0x100" addr }
- { type %$int_label }
+ {MACRO_AT_func {main}}
+ { type :$int_label }
{ external 1 flag }
} {
DW_TAG_variable {
{ name 1.c }
} {
subprogram {
- { name main }
- { low_pc main addr }
- { high_pc "main+0x100" addr }
+ { MACRO_AT_func {main} }
{ type %$int_label }
{ external 1 flag }
} {
return -1
}
- gdb_test "p/x p->f" " = 0x1010101" $name
+ gdb_test "p/x p->f" " = 0x1010101"
+}
+
+proc test { dwarf_version offset_size addr_size ref_addr_size two_cu } {
+
+ set name \
+ [list \
+ "d${dwarf_version}" \
+ "o${offset_size}" \
+ "a${addr_size}" \
+ "r${ref_addr_size}" \
+ "t${two_cu}"]
+ set name [join $name "-"]
+ with_test_prefix $name {
+ test_1 $name \
+ $dwarf_version $offset_size $addr_size $ref_addr_size $two_cu
+ }
}
# DWARF_VERSION OFFSET_SIZE ADDR_SIZE REF_ADDR_SIZE TWO_CU