gdb/testsuite: use -gdwarf-4 in simavr board
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 16 Apr 2021 15:01:26 +0000 (11:01 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Fri, 16 Apr 2021 15:02:32 +0000 (11:02 -0400)
By default, when using the -g switch, avr-gcc generates stabs debug
information.  I think it would make more sense to test GDB against DWARF
information, because stabs is obsolete by now, and nobody work on it.
So change the simavr board to pass -gdwarf-4 as the debug flag.

The downside is that users are probably more likely to use just -g, so
we don't test GDB the same way as users are likely to use it.  But in
this case, if somebody comes and asks for help with GDB for AVR, I
suggest we encourage them to use -gdwarf-4.

I can't give stats about how that changes test results, because the
testsuite is too broken.  There is an internal error that happens quite
frequently that needs to be investigated:

    /home/simark/src/wt/avr/gdb/trad-frame.h:143: internal-error: LONGEST trad_frame_saved_reg::addr() const: Assertion `m_kind == trad_frame_saved_reg_kind::ADDR' failed.

I sent a question on the gcc mailing list, asking why stabs is the
default:

    https://gcc.gnu.org/pipermail/gcc/2021-April/235309.html

gdb/testsuite/ChangeLog:

* boards/simavr.exp: Set debug_flags.

Change-Id: I70e471fad3a79ab1d79d13dda8436bb9eb666e0a

gdb/testsuite/ChangeLog
gdb/testsuite/boards/simavr.exp

index 9e490aaf8b3bbfa3424f25517057f85e6daa00a7..212f2ae0c5bec67d29049aa27f926c6158fa53b5 100644 (file)
@@ -1,3 +1,7 @@
+2021-04-16  Simon Marchi  <simon.marchi@efficios.com>
+
+       * boards/simavr.exp: Set debug_flags.
+
 2021-04-16  Luis Machado  <luis.machado@linaro.org>
 
        * gdb.dwarf2/dw2-bfloat16.exp: New file.
index c4f278ccb12e98bda3c8c9df61ff1dd86170eda3..06177330aa04df6cce8dabad24ca97663ac6d039 100644 (file)
@@ -44,6 +44,10 @@ set_board_info c++compiler avr-g++
 set_board_info cflags "-mmcu=${simavr_mcu}"
 set_board_info ldflags "-mmcu=${simavr_mcu}"
 
+# As of version 10, GCC produces stabs by default for AVR.  Force it to use
+# DWARF.
+set_board_info debug_flags "-gdwarf-4"
+
 set_board_info use_gdb_stub 1
 set_board_info gdb_protocol "remote"
 set_board_info gdb,do_reload_on_run 1