From 97afb8b37229d6a140aaa81a3c71122e5d862296 Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Thu, 1 Nov 2018 12:07:03 +0100 Subject: [PATCH] target/stm8: add support for multi-architecture gdb GDB can be built for multi-architecture through the command ./configure --enable-targets=all && make Such multi-architecture GDB requires the target's architecture to be selected either manually by the user through the GDB command "set architecture" or automatically by the target description sent by the remote target (i.e. OpenOCD). Commit e65acd889c61a424c7bd72fdee5d6a3aee1d8504 ("gdb_server: add support for architecture element") already provides the required infrastructure to support multi-architecture gdb. The gdb patches for stm8 are still not merged in the official repository and are temporarily hosted in https://stm8-binutils-gdb.sourceforge.io/ The latest patch set stm8-binutils-gdb-sources-2018-03-04.tar.gz define only one possible value ("stm8") for this architecture; it can be displayed typing "set architecture " followed by a TAB for autocompletion in gdb for stm8. Set the gdb architecture value for stm8 to "stm8". Change-Id: I643ceba662de46cecf061d1dc672b9178a077f1b Signed-off-by: Antonio Borneo Reviewed-on: http://openocd.zylin.com/4753 Tested-by: jenkins Reviewed-by: Ake Rehnman Reviewed-by: Spencer Oliver --- src/target/stm8.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/target/stm8.c b/src/target/stm8.c index 5a3438a64..9a57e4490 100644 --- a/src/target/stm8.c +++ b/src/target/stm8.c @@ -1189,6 +1189,11 @@ static int stm8_write_core_reg(struct target *target, unsigned int num) return ERROR_OK; } +static const char *stm8_get_gdb_arch(struct target *target) +{ + return "stm8"; +} + static int stm8_get_gdb_reg_list(struct target *target, struct reg **reg_list[], int *reg_list_size, enum target_register_class reg_class) { @@ -2199,6 +2204,7 @@ struct target_type stm8_target = { .assert_reset = stm8_reset_assert, .deassert_reset = stm8_reset_deassert, + .get_gdb_arch = stm8_get_gdb_arch, .get_gdb_reg_list = stm8_get_gdb_reg_list, .read_memory = stm8_read_memory,