aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/ChangeLog11
-rw-r--r--gdb/testsuite/gdb.dlang/watch-loc.c8
-rw-r--r--gdb/testsuite/gdb.dlang/watch-loc.exp17
3 files changed, 33 insertions, 3 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 848f35f..0a29d7f 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2020-09-16 Tom de Vries <tdevries@suse.de>
+
+ PR testsuite/26617
+ * gdb.dlang/watch-loc.c: Only add .debug_aranges if
+ WITH_DEBUG_SECTIONS is defined.
+ (xstr, str): New macro.
+ (.debug_aranges): Use DMAIN_START_0/1/2 and DMAIN_LENGTH
+ to get start and size of _Dmain.
+ * gdb.dlang/watch-loc.exp: Pass DMAIN_START_0/1/2 and DMAIN_LENGTH
+ using additional_flags.
+
2020-09-16 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
* gdb.base/bp-cmds-sourced-script.c: New file.
diff --git a/gdb/testsuite/gdb.dlang/watch-loc.c b/gdb/testsuite/gdb.dlang/watch-loc.c
index de594f3..0a58f27 100644
--- a/gdb/testsuite/gdb.dlang/watch-loc.c
+++ b/gdb/testsuite/gdb.dlang/watch-loc.c
@@ -36,6 +36,9 @@ main (void)
return _Dmain ();
}
+#ifdef WITH_DEBUG_SECTIONS
+#define xstr(s) str(s)
+#define str(s) #s
/* The .debug_names-based index support depends on .debug_aranges
generated by GCC. (.gdb_index includes a gdb-generated map
instead.) */
@@ -52,10 +55,11 @@ asm (
" .byte 0 \n" // Size of Segment Descriptor
" .2byte 0 \n" // Pad to 16 byte boundary
" .2byte 0 \n"
-" .4byte _Dmain \n" // Address
-" .4byte _Dmain_end - _Dmain \n" // Length
+" .4byte " xstr(DMAIN_START_0) xstr(DMAIN_START_1) xstr(DMAIN_START_2) "\n" // Address
+" .4byte " xstr(DMAIN_LENGTH) "\n" // Length
" .4byte 0 \n"
" .4byte 0 \n"
".Laranges_end: \n"
" .popsection \n"
);
+#endif
diff --git a/gdb/testsuite/gdb.dlang/watch-loc.exp b/gdb/testsuite/gdb.dlang/watch-loc.exp
index d65f3c6..dcd9378 100644
--- a/gdb/testsuite/gdb.dlang/watch-loc.exp
+++ b/gdb/testsuite/gdb.dlang/watch-loc.exp
@@ -27,6 +27,10 @@ if {![dwarf2_support]} {
standard_testfile watch-loc.c watch-loc-dw.S
+lassign [function_range _Dmain ${srcdir}/${subdir}/${srcfile}] \
+ dmain_start dmain_length
+
+
# Make some DWARF for the test.
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
@@ -62,8 +66,19 @@ Dwarf::assemble $asm_file {
}
}
+set dmain_start_list [split $dmain_start]
+set dmain_start_0 [lindex $dmain_start_list 0]
+set dmain_start_1 [lindex $dmain_start_list 1]
+set dmain_start_2 [lindex $dmain_start_list 2]
+
if { [prepare_for_testing "failed to prepare" ${testfile} \
- [list $srcfile $asm_file] {nodebug}] } {
+ [list $srcfile $asm_file] \
+ "nodebug \
+ additional_flags=-DWITH_DEBUG_SECTIONS \
+ additional_flags=-DDMAIN_START_0=$dmain_start_0 \
+ additional_flags=-DDMAIN_START_1=$dmain_start_1 \
+ additional_flags=-DDMAIN_START_2=$dmain_start_2 \
+ additional_flags=-DDMAIN_LENGTH=$dmain_length"] } {
return -1
}