Bump buildroot to version 2017-02

TG-3 #closed
This commit is contained in:
jbnadal
2017-03-28 18:29:16 +02:00
parent 93b7fd91d2
commit 42c92a6bcb
3010 changed files with 41289 additions and 46428 deletions

View File

@@ -1,355 +0,0 @@
From 77080d5f7fd47dd567f22807d336bc9111f93d7b Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Thu, 4 Aug 2016 23:44:24 +0200
Subject: [PATCH] Revert "sim: unify SIM_CPU definition"
This reverts commit 20bca71d82598a015de0991196e45f0b5f7ead81.
This change causes a redefinition of SIM_CPU on the Blackfin
architecture, as it is defined in both the common sim/common/sim-base.h
and the architecture specific sim/bfin/sim-main.h.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
sim/arm/sim-main.h | 3 +++
sim/avr/sim-main.h | 2 ++
sim/bfin/sim-main.h | 2 --
sim/common/sim-base.h | 2 --
sim/cr16/sim-main.h | 2 ++
sim/cris/sim-main.h | 3 +++
sim/d10v/sim-main.h | 2 ++
sim/frv/sim-main.h | 3 +++
sim/ft32/sim-main.h | 2 ++
sim/h8300/sim-main.h | 3 +++
sim/iq2000/sim-main.h | 3 +++
sim/lm32/sim-main.h | 3 +++
sim/m32r/sim-main.h | 3 +++
sim/m68hc11/sim-main.h | 3 +++
sim/mcore/sim-main.h | 2 ++
sim/microblaze/sim-main.h | 3 +++
sim/mips/sim-main.h | 3 +++
sim/mn10300/sim-main.h | 2 ++
sim/moxie/sim-main.h | 3 +++
sim/msp430/sim-main.h | 3 +++
sim/sh/sim-main.h | 3 +++
sim/sh64/sim-main.h | 3 +++
sim/v850/sim-main.h | 3 +++
23 files changed, 57 insertions(+), 4 deletions(-)
diff --git a/sim/arm/sim-main.h b/sim/arm/sim-main.h
index 3620810..f644122 100644
--- a/sim/arm/sim-main.h
+++ b/sim/arm/sim-main.h
@@ -20,6 +20,9 @@
#define SIM_MAIN_H
#include "sim-basics.h"
+
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
#include "bfd.h"
diff --git a/sim/avr/sim-main.h b/sim/avr/sim-main.h
index 47155e3..cd41045 100644
--- a/sim/avr/sim-main.h
+++ b/sim/avr/sim-main.h
@@ -21,6 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "sim-basics.h"
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
struct _sim_cpu {
diff --git a/sim/bfin/sim-main.h b/sim/bfin/sim-main.h
index 51fb87e..cf1ed57 100644
--- a/sim/bfin/sim-main.h
+++ b/sim/bfin/sim-main.h
@@ -24,8 +24,6 @@
#include "sim-basics.h"
#include "sim-signal.h"
-/* TODO: Delete this. Need to convert bu32/etc... to common sim types
- and unwind the bfin-sim.h/machs.h include below first though. */
typedef struct _sim_cpu SIM_CPU;
#include "bfin-sim.h"
diff --git a/sim/common/sim-base.h b/sim/common/sim-base.h
index 350b352..1b849f4 100644
--- a/sim/common/sim-base.h
+++ b/sim/common/sim-base.h
@@ -72,8 +72,6 @@ typedef address_word sim_cia;
#define INVALID_INSTRUCTION_ADDRESS ((address_word)0 - 1)
#endif
-/* TODO: Probably should just delete SIM_CPU. */
-typedef struct _sim_cpu SIM_CPU;
typedef struct _sim_cpu sim_cpu;
#include "sim-module.h"
diff --git a/sim/cr16/sim-main.h b/sim/cr16/sim-main.h
index 208f917..78e3996 100644
--- a/sim/cr16/sim-main.h
+++ b/sim/cr16/sim-main.h
@@ -24,6 +24,8 @@
typedef long int word;
typedef unsigned long int uword;
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
#include "bfd.h"
diff --git a/sim/cris/sim-main.h b/sim/cris/sim-main.h
index 8aab970..0ff907f 100644
--- a/sim/cris/sim-main.h
+++ b/sim/cris/sim-main.h
@@ -29,6 +29,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
one of -scache/-pbb. */
#define WITH_SCACHE_PBB 1
+struct _sim_cpu;
+typedef struct _sim_cpu SIM_CPU;
+
#include "symcat.h"
#include "sim-basics.h"
#include "cgen-types.h"
diff --git a/sim/d10v/sim-main.h b/sim/d10v/sim-main.h
index 76f06d8..fd5bd51 100644
--- a/sim/d10v/sim-main.h
+++ b/sim/d10v/sim-main.h
@@ -24,6 +24,8 @@
typedef long int word;
typedef unsigned long int uword;
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
#include "bfd.h"
diff --git a/sim/frv/sim-main.h b/sim/frv/sim-main.h
index f95c1cc..701e208 100644
--- a/sim/frv/sim-main.h
+++ b/sim/frv/sim-main.h
@@ -19,6 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* Main header for the frv. */
+struct _sim_cpu; /* FIXME: should be in sim-basics.h */
+typedef struct _sim_cpu SIM_CPU;
+
/* sim-basics.h includes config.h but cgen-types.h must be included before
sim-basics.h and cgen-types.h needs config.h. */
#include "config.h"
diff --git a/sim/ft32/sim-main.h b/sim/ft32/sim-main.h
index a15b247..eef0201 100644
--- a/sim/ft32/sim-main.h
+++ b/sim/ft32/sim-main.h
@@ -25,6 +25,8 @@
#include "sim-base.h"
#include "bfd.h"
+typedef struct _sim_cpu SIM_CPU;
+
#include "ft32-sim.h"
struct _sim_cpu {
diff --git a/sim/h8300/sim-main.h b/sim/h8300/sim-main.h
index 6dbc1ac..e95c4d9 100644
--- a/sim/h8300/sim-main.h
+++ b/sim/h8300/sim-main.h
@@ -87,6 +87,9 @@ enum h8_typecodes {
};
#include "sim-basics.h"
+
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
/* Structure used to describe addressing */
diff --git a/sim/iq2000/sim-main.h b/sim/iq2000/sim-main.h
index 829f9bb..a770dc5 100644
--- a/sim/iq2000/sim-main.h
+++ b/sim/iq2000/sim-main.h
@@ -4,6 +4,9 @@
#ifndef SIM_MAIN_H
#define SIM_MAIN_H
+struct _sim_cpu; /* FIXME: should be in sim-basics.h */
+typedef struct _sim_cpu SIM_CPU;
+
/* sim-basics.h includes config.h but cgen-types.h must be included before
sim-basics.h and cgen-types.h needs config.h. */
#include "config.h"
diff --git a/sim/lm32/sim-main.h b/sim/lm32/sim-main.h
index 20e2b71..eeffde3 100644
--- a/sim/lm32/sim-main.h
+++ b/sim/lm32/sim-main.h
@@ -25,6 +25,9 @@
#define WITH_SCACHE_PBB 1
+struct _sim_cpu; /* FIXME: should be in sim-basics.h */
+typedef struct _sim_cpu SIM_CPU;
+
#include "symcat.h"
#include "sim-basics.h"
#include "cgen-types.h"
diff --git a/sim/m32r/sim-main.h b/sim/m32r/sim-main.h
index 5b24ce8..39f7ecc 100644
--- a/sim/m32r/sim-main.h
+++ b/sim/m32r/sim-main.h
@@ -8,6 +8,9 @@
one of -scache/-pbb. */
#define WITH_SCACHE_PBB 1
+struct _sim_cpu; /* FIXME: should be in sim-basics.h */
+typedef struct _sim_cpu SIM_CPU;
+
#include "symcat.h"
#include "sim-basics.h"
#include "cgen-types.h"
diff --git a/sim/m68hc11/sim-main.h b/sim/m68hc11/sim-main.h
index b940df7..0aa096f 100644
--- a/sim/m68hc11/sim-main.h
+++ b/sim/m68hc11/sim-main.h
@@ -21,6 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#define _SIM_MAIN_H
#include "sim-basics.h"
+
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-signal.h"
#include "sim-base.h"
diff --git a/sim/mcore/sim-main.h b/sim/mcore/sim-main.h
index fce26e8..fa7ee9f 100644
--- a/sim/mcore/sim-main.h
+++ b/sim/mcore/sim-main.h
@@ -24,6 +24,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
typedef long int word;
typedef unsigned long int uword;
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
#include "bfd.h"
diff --git a/sim/microblaze/sim-main.h b/sim/microblaze/sim-main.h
index 3a7b088..9e6bf01 100644
--- a/sim/microblaze/sim-main.h
+++ b/sim/microblaze/sim-main.h
@@ -20,6 +20,9 @@
#include "microblaze.h"
#include "sim-basics.h"
+
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
/* The machine state.
diff --git a/sim/mips/sim-main.h b/sim/mips/sim-main.h
index 0ea1234..eedbfc9 100644
--- a/sim/mips/sim-main.h
+++ b/sim/mips/sim-main.h
@@ -27,6 +27,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
mips_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), (TRANSFER), (ERROR))
#include "sim-basics.h"
+
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
#include "bfd.h"
diff --git a/sim/mn10300/sim-main.h b/sim/mn10300/sim-main.h
index 7171c03..3a917e7 100644
--- a/sim/mn10300/sim-main.h
+++ b/sim/mn10300/sim-main.h
@@ -38,6 +38,8 @@
#include "itable.h"
#include "idecode.h"
+typedef struct _sim_cpu SIM_CPU;
+
#define SIM_CORE_SIGNAL(SD,CPU,CIA,MAP,NR_BYTES,ADDR,TRANSFER,ERROR) \
mn10300_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), (TRANSFER), (ERROR))
diff --git a/sim/moxie/sim-main.h b/sim/moxie/sim-main.h
index 7091f21..b6b5ca3 100644
--- a/sim/moxie/sim-main.h
+++ b/sim/moxie/sim-main.h
@@ -21,6 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#define SIM_MAIN_H
#include "sim-basics.h"
+
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
#include "bfd.h"
diff --git a/sim/msp430/sim-main.h b/sim/msp430/sim-main.h
index 4a2ab22..c7cdc5e 100644
--- a/sim/msp430/sim-main.h
+++ b/sim/msp430/sim-main.h
@@ -23,6 +23,9 @@
#include "sim-basics.h"
#include "sim-signal.h"
+
+typedef struct _sim_cpu SIM_CPU;
+
#include "msp430-sim.h"
#include "sim-base.h"
diff --git a/sim/sh/sim-main.h b/sim/sh/sim-main.h
index 4af7b03..6ab42a6 100644
--- a/sim/sh/sim-main.h
+++ b/sim/sh/sim-main.h
@@ -20,6 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#define SIM_MAIN_H
#include "sim-basics.h"
+
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
typedef struct
diff --git a/sim/sh64/sim-main.h b/sim/sh64/sim-main.h
index da8f516..5fd7095 100644
--- a/sim/sh64/sim-main.h
+++ b/sim/sh64/sim-main.h
@@ -3,6 +3,9 @@
#ifndef SIM_MAIN_H
#define SIM_MAIN_H
+struct _sim_cpu; /* FIXME: should be in sim-basics.h */
+typedef struct _sim_cpu SIM_CPU;
+
/* sim-basics.h includes config.h but cgen-types.h must be included before
sim-basics.h and cgen-types.h needs config.h. */
#include "config.h"
diff --git a/sim/v850/sim-main.h b/sim/v850/sim-main.h
index e7276a6..1a45f97 100644
--- a/sim/v850/sim-main.h
+++ b/sim/v850/sim-main.h
@@ -9,6 +9,9 @@
#include "sim-basics.h"
#include "sim-signal.h"
#include "sim-fpu.h"
+
+typedef struct _sim_cpu SIM_CPU;
+
#include "sim-base.h"
#include "simops.h"
--
2.7.4

View File

@@ -0,0 +1,155 @@
From 7a09ed68e203a813d88fb7fc6eeb1e92209561a5 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Mon, 8 Aug 2016 13:06:49 +0800
Subject: [PATCH] sim: bfin: split out common mach/model defines into arch.h
[PR sim/20438]
The current machs.h mixes common enums with Blackfin-specific defines.
This causes us troubles with header inclusion order such that we can't
drop the old SIM_CPU typedef (which is duplicated in common code). By
splitting the two up, we can unwind this dependency chain, and drop the
old typedef. It also fixes building with older gcc versions.
[Romain: backport from gdb 7.12]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
sim/bfin/ChangeLog | 9 +++++++++
sim/bfin/arch.h | 44 ++++++++++++++++++++++++++++++++++++++++++++
sim/bfin/machs.h | 20 --------------------
sim/bfin/sim-main.h | 8 ++------
4 files changed, 55 insertions(+), 26 deletions(-)
create mode 100644 sim/bfin/arch.h
diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog
index 3dea7c9..a995436 100644
--- a/sim/bfin/ChangeLog
+++ b/sim/bfin/ChangeLog
@@ -1,3 +1,12 @@
+2016-08-13 Mike Frysinger <vapier@gentoo.org>
+
+ PR sim/20438
+ * machs.h (MODEL_TYPE, MACH_ATTR, BFIN_INSN_*): Move ...
+ * arch.h: ... to this new header file.
+ * sim-main.h (SIM_CPU): Delete.
+ Include arch.h before sim-base.h, and move sim-base.h before
+ bfin-sim.h.
+
2016-01-10 Mike Frysinger <vapier@gentoo.org>
* config.in, configure: Regenerate.
diff --git a/sim/bfin/arch.h b/sim/bfin/arch.h
new file mode 100644
index 0000000..b86d3e9
--- /dev/null
+++ b/sim/bfin/arch.h
@@ -0,0 +1,44 @@
+/* Simulator for Analog Devices Blackfin processors.
+
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
+ Contributed by Analog Devices, Inc.
+
+ This file is part of simulators.
+
+ 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
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef BFIN_ARCH_H
+#define BFIN_ARCH_H
+
+typedef enum model_type {
+#define P(n) MODEL_BF##n,
+#include "proc_list.def"
+#undef P
+ MODEL_MAX
+} MODEL_TYPE;
+
+typedef enum mach_attr {
+ MACH_BASE,
+ MACH_BFIN,
+ MACH_MAX
+} MACH_ATTR;
+
+enum {
+#define I(insn) BFIN_INSN_##insn,
+#include "insn_list.def"
+#undef I
+ BFIN_INSN_MAX
+};
+
+#endif
diff --git a/sim/bfin/machs.h b/sim/bfin/machs.h
index 0372982..36819ae 100644
--- a/sim/bfin/machs.h
+++ b/sim/bfin/machs.h
@@ -21,19 +21,6 @@
#ifndef _BFIN_MACHS_H_
#define _BFIN_MACHS_H_
-typedef enum model_type {
-#define P(n) MODEL_BF##n,
-#include "proc_list.def"
-#undef P
- MODEL_MAX
-} MODEL_TYPE;
-
-typedef enum mach_attr {
- MACH_BASE,
- MACH_BFIN,
- MACH_MAX
-} MACH_ATTR;
-
#define CPU_MODEL_NUM(cpu) MODEL_NUM (CPU_MODEL (cpu))
/* XXX: Some of this probably belongs in CPU_MODEL. */
@@ -46,13 +33,6 @@ void bfin_model_cpu_init (SIM_DESC, SIM_CPU *);
bu32 bfin_model_get_chipid (SIM_DESC);
bu32 bfin_model_get_dspid (SIM_DESC);
-enum {
-#define I(insn) BFIN_INSN_##insn,
-#include "insn_list.def"
-#undef I
- BFIN_INSN_MAX
-};
-
#define BFIN_COREMMR_CEC_BASE 0xFFE02100
#define BFIN_COREMMR_CEC_SIZE (4 * 5)
#define BFIN_COREMMR_CTIMER_BASE 0xFFE03000
diff --git a/sim/bfin/sim-main.h b/sim/bfin/sim-main.h
index 51fb87e..34fd153 100644
--- a/sim/bfin/sim-main.h
+++ b/sim/bfin/sim-main.h
@@ -23,17 +23,13 @@
#include "sim-basics.h"
#include "sim-signal.h"
-
-/* TODO: Delete this. Need to convert bu32/etc... to common sim types
- and unwind the bfin-sim.h/machs.h include below first though. */
-typedef struct _sim_cpu SIM_CPU;
+#include "arch.h"
+#include "sim-base.h"
#include "bfin-sim.h"
#include "machs.h"
-#include "sim-base.h"
-
struct _sim_cpu {
/* ... simulator specific members ... */
struct bfin_cpu_state state;
--
2.9.3

View File

@@ -1,34 +0,0 @@
From 570805e96bb8c458795b04f4745700795997ef40 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@openwide.fr>
Date: Fri, 10 Apr 2015 22:58:07 +0200
Subject: [PATCH] gdbserver: fix uClibc whithout MMU.
Since commit d86d4aafd4fa22fa4cccb83253fb187b03f97f48, the pid
must be retrieved from current_thread.
The change has not been made in the function linux_read_offsets().
Fixes:
http://autobuild.buildroot.net/results/9e4/9e4df085319e346803c26c65478accb27eb950ae/build-end.log
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
gdb/gdbserver/linux-low.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 4d19c87..7585b80 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -4933,7 +4933,7 @@ static int
linux_read_offsets (CORE_ADDR *text_p, CORE_ADDR *data_p)
{
unsigned long text, text_end, data;
- int pid = lwpid_of (get_thread_lwp (current_thread));
+ int pid = lwpid_of (current_thread);
errno = 0;
--
1.9.3

View File

@@ -1,47 +0,0 @@
From deb44829ecc1dd38275af0fcf91acd319e227a89 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Fri, 17 Apr 2015 03:07:41 +0300
Subject: [PATCH 1/2] gdbserver/xtensa: drop xtensa_usrregs_info
xtensa_usrregs_info refers to undefined variables xtensa_num_regs and
xtensa_regmap. Drop xtensa_usrregs_info and replace pointer to usrregs
in regs_info with NULL since all registers are read/set through regsets.
2015-04-17 Max Filippov <jcmvbkbc@gmail.com>
gdb/gdbserver/
* linux-xtensa-low.c (xtensa_usrregs_info): Remove.
(regs_info): Replace usrregs pointer with NULL.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Backported from: deb44829ecc1dd38275af0fcf91acd319e227a89
Changes to ChangeLog are dropped.
gdb/gdbserver/linux-xtensa-low.c | 8 +-------
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdb/gdbserver/linux-xtensa-low.c
index f7fafaf..e786da5 100644
--- a/gdb/gdbserver/linux-xtensa-low.c
+++ b/gdb/gdbserver/linux-xtensa-low.c
@@ -186,16 +186,10 @@ static struct regsets_info xtensa_regsets_info =
NULL, /* disabled_regsets */
};
-static struct usrregs_info xtensa_usrregs_info =
- {
- xtensa_num_regs,
- xtensa_regmap,
- };
-
static struct regs_info regs_info =
{
NULL, /* regset_bitmap */
- &xtensa_usrregs_info,
+ NULL, /* usrregs */
&xtensa_regsets_info
};
--
1.8.1.4

View File

@@ -1,46 +0,0 @@
From a2d5a9d76f2366ed93095fc5a63eafa06b22f808 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Fri, 17 Apr 2015 02:52:50 +0300
Subject: [PATCH 2/2] gdbserver/xtensa: fix typo in XCHAL_HAVE_LOOPS
This fixes lbeg/lend/lcount registers handling through gdbserver.
2015-04-17 Max Filippov <jcmvbkbc@gmail.com>
gdb/gdbserver/
* linux-xtensa-low.c (xtensa_fill_gregset)
(xtensa_store_gregset): Check XCHAL_HAVE_LOOPS instead of
XCHAL_HAVE_LOOP.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Backported from: a2d5a9d76f2366ed93095fc5a63eafa06b22f808
Changes to ChangeLog are dropped.
gdb/gdbserver/linux-xtensa-low.c | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdb/gdbserver/linux-xtensa-low.c
index e786da5..4daccee 100644
--- a/gdb/gdbserver/linux-xtensa-low.c
+++ b/gdb/gdbserver/linux-xtensa-low.c
@@ -59,7 +59,7 @@ xtensa_fill_gregset (struct regcache *regcache, void *buf)
/* Loop registers, if hardware has it. */
-#if XCHAL_HAVE_LOOP
+#if XCHAL_HAVE_LOOPS
collect_register_by_name (regcache, "lbeg", (char*)&rset[R_LBEG]);
collect_register_by_name (regcache, "lend", (char*)&rset[R_LEND]);
collect_register_by_name (regcache, "lcount", (char*)&rset[R_LCOUNT]);
@@ -94,7 +94,7 @@ xtensa_store_gregset (struct regcache *regcache, const void *buf)
/* Loop registers, if hardware has it. */
-#if XCHAL_HAVE_LOOP
+#if XCHAL_HAVE_LOOPS
supply_register_by_name (regcache, "lbeg", (char*)&rset[R_LBEG]);
supply_register_by_name (regcache, "lend", (char*)&rset[R_LEND]);
supply_register_by_name (regcache, "lcount", (char*)&rset[R_LCOUNT]);
--
1.8.1.4

View File

@@ -1,267 +0,0 @@
From d4eb69fc4b50f9a0babd70b28d0601b40f31bd0f Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Thu, 2 Jul 2015 15:10:58 +0300
Subject: [PATCH] xtensa: implement NPTL helpers
These changes allow debugging multithreaded NPTL xtensa applications.
2015-08-20 Max Filippov <jcmvbkbc@gmail.com>
gdb/gdbserver/
* configure.srv (xtensa*-*-linux*): Add srv_linux_thread_db=yes.
* linux-xtensa-low.c (arch/xtensa.h gdb_proc_service.h): New
#includes.
(ps_get_thread_area): New function.
2015-08-20 Max Filippov <jcmvbkbc@gmail.com>
gdb/
* arch/xtensa.h: New file.
* xtensa-linux-nat.c (gdb_proc_service.h): New #include.
(ps_get_thread_area): New function.
* xtensa-linux-tdep.c (xtensa_linux_init_abi): Add call to
set_gdbarch_fetch_tls_load_module_address to enable TLS support.
* xtensa-tdep.c (osabi.h): New #include.
(xtensa_gdbarch_init): Call gdbarch_init_osabi to register
xtensa-specific hooks.
* xtensa-tdep.h (struct xtensa_elf_gregset_t): Add threadptr
member and move the structure to arch/xtensa.h.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Backported from: 40045d91812b25c88c8275b8c08d27c234b68ba8
Changes to ChangeLog files are dropped.
gdb/arch/xtensa.h | 46 ++++++++++++++++++++++++++++++++++++++++
gdb/gdbserver/configure.srv | 1 +
gdb/gdbserver/linux-xtensa-low.c | 21 ++++++++++++++++++
gdb/xtensa-linux-nat.c | 22 ++++++++++++++++++
gdb/xtensa-linux-tdep.c | 4 ++++
gdb/xtensa-tdep.c | 4 ++++
gdb/xtensa-tdep.h | 24 ++------------------
7 files changed, 100 insertions(+), 22 deletions(-)
create mode 100644 gdb/arch/xtensa.h
diff --git a/gdb/arch/xtensa.h b/gdb/arch/xtensa.h
new file mode 100644
index 0000000..fe96584
--- /dev/null
+++ b/gdb/arch/xtensa.h
@@ -0,0 +1,46 @@
+/* Common Target-dependent code for the Xtensa port of GDB, the GNU debugger.
+
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ 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
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef XTENSA_H
+#define XTENSA_H
+
+/* Xtensa ELF core file register set representation ('.reg' section).
+ Copied from target-side ELF header <xtensa/elf.h>. */
+
+typedef uint32_t xtensa_elf_greg_t;
+
+typedef struct
+{
+ xtensa_elf_greg_t pc;
+ xtensa_elf_greg_t ps;
+ xtensa_elf_greg_t lbeg;
+ xtensa_elf_greg_t lend;
+ xtensa_elf_greg_t lcount;
+ xtensa_elf_greg_t sar;
+ xtensa_elf_greg_t windowstart;
+ xtensa_elf_greg_t windowbase;
+ xtensa_elf_greg_t threadptr;
+ xtensa_elf_greg_t reserved[7+48];
+ xtensa_elf_greg_t ar[64];
+} xtensa_elf_gregset_t;
+
+#define XTENSA_ELF_NGREG (sizeof (xtensa_elf_gregset_t) \
+ / sizeof (xtensa_elf_greg_t))
+
+#endif
diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
index 0b18d1d..320c26a 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -352,6 +352,7 @@ case "${target}" in
xtensa*-*-linux*) srv_regobj=reg-xtensa.o
srv_tgtobj="$srv_linux_obj linux-xtensa-low.o"
srv_linux_regsets=yes
+ srv_linux_thread_db=yes
;;
tilegx-*-linux*) srv_regobj=reg-tilegx.o
srv_regobj="${srv_regobj} reg-tilegx32.o"
diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdb/gdbserver/linux-xtensa-low.c
index 4daccee..debe467 100644
--- a/gdb/gdbserver/linux-xtensa-low.c
+++ b/gdb/gdbserver/linux-xtensa-low.c
@@ -26,6 +26,8 @@ extern const struct target_desc *tdesc_xtensa;
#include <asm/ptrace.h>
#include <xtensa-config.h>
+#include "arch/xtensa.h"
+#include "gdb_proc_service.h"
#include "xtensa-xtregs.c"
@@ -179,6 +181,25 @@ xtensa_breakpoint_at (CORE_ADDR where)
xtensa_breakpoint, xtensa_breakpoint_len) == 0;
}
+/* Called by libthread_db. */
+
+ps_err_e
+ps_get_thread_area (const struct ps_prochandle *ph,
+ lwpid_t lwpid, int idx, void **base)
+{
+ xtensa_elf_gregset_t regs;
+
+ if (ptrace (PTRACE_GETREGS, lwpid, NULL, &regs) != 0)
+ return PS_ERR;
+
+ /* IDX is the bias from the thread pointer to the beginning of the
+ thread descriptor. It has to be subtracted due to implementation
+ quirks in libthread_db. */
+ *base = (void *) ((char *) regs.threadptr - idx);
+
+ return PS_OK;
+}
+
static struct regsets_info xtensa_regsets_info =
{
xtensa_regsets, /* regsets */
diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c
index 77ad3e0..5538d5b 100644
--- a/gdb/xtensa-linux-nat.c
+++ b/gdb/xtensa-linux-nat.c
@@ -37,6 +37,9 @@
#include "gregset.h"
#include "xtensa-tdep.h"
+/* Defines ps_err_e, struct ps_prochandle. */
+#include "gdb_proc_service.h"
+
/* Extended register set depends on hardware configs.
Keeping these definitions separately allows to introduce
hardware-specific overlays. */
@@ -280,6 +283,25 @@ xtensa_linux_store_inferior_registers (struct target_ops *ops,
store_xtregs (regcache, regnum);
}
+/* Called by libthread_db. */
+
+ps_err_e
+ps_get_thread_area (const struct ps_prochandle *ph,
+ lwpid_t lwpid, int idx, void **base)
+{
+ xtensa_elf_gregset_t regs;
+
+ if (ptrace (PTRACE_GETREGS, lwpid, NULL, &regs) != 0)
+ return PS_ERR;
+
+ /* IDX is the bias from the thread pointer to the beginning of the
+ thread descriptor. It has to be subtracted due to implementation
+ quirks in libthread_db. */
+ *base = (void *) ((char *) regs.threadptr - idx);
+
+ return PS_OK;
+}
+
void _initialize_xtensa_linux_nat (void);
void
diff --git a/gdb/xtensa-linux-tdep.c b/gdb/xtensa-linux-tdep.c
index 61ea9b0..99e0d3e 100644
--- a/gdb/xtensa-linux-tdep.c
+++ b/gdb/xtensa-linux-tdep.c
@@ -106,6 +106,10 @@ xtensa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
xtensa_linux_gdb_signal_from_target);
set_gdbarch_gdb_signal_to_target (gdbarch,
xtensa_linux_gdb_signal_to_target);
+
+ /* Enable TLS support. */
+ set_gdbarch_fetch_tls_load_module_address (gdbarch,
+ svr4_fetch_objfile_link_map);
}
/* Provide a prototype to silence -Wmissing-prototypes. */
diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
index 55e7d98..4b693ed 100644
--- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c
@@ -28,6 +28,7 @@
#include "value.h"
#include "dis-asm.h"
#include "inferior.h"
+#include "osabi.h"
#include "floatformat.h"
#include "regcache.h"
#include "reggroups.h"
@@ -3273,6 +3274,9 @@ xtensa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_solib_svr4_fetch_link_map_offsets
(gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ /* Hook in the ABI-specific overrides, if they have been registered. */
+ gdbarch_init_osabi (info, gdbarch);
+
return gdbarch;
}
diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h
index caa2988..5b28cab 100644
--- a/gdb/xtensa-tdep.h
+++ b/gdb/xtensa-tdep.h
@@ -18,6 +18,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#include "arch/xtensa.h"
+
/* XTENSA_TDEP_VERSION can/should be changed along with XTENSA_CONFIG_VERSION
whenever the "tdep" structure changes in an incompatible way. */
@@ -81,28 +83,6 @@ typedef enum
} xtensa_target_flags_t;
-/* Xtensa ELF core file register set representation ('.reg' section).
- Copied from target-side ELF header <xtensa/elf.h>. */
-
-typedef uint32_t xtensa_elf_greg_t;
-
-typedef struct
-{
- xtensa_elf_greg_t pc;
- xtensa_elf_greg_t ps;
- xtensa_elf_greg_t lbeg;
- xtensa_elf_greg_t lend;
- xtensa_elf_greg_t lcount;
- xtensa_elf_greg_t sar;
- xtensa_elf_greg_t windowstart;
- xtensa_elf_greg_t windowbase;
- xtensa_elf_greg_t reserved[8+48];
- xtensa_elf_greg_t ar[64];
-} xtensa_elf_gregset_t;
-
-#define XTENSA_ELF_NGREG (sizeof (xtensa_elf_gregset_t) \
- / sizeof (xtensa_elf_greg_t))
-
/* Mask. */
typedef struct
--
1.8.1.4

View File

@@ -1,70 +0,0 @@
From d41401ace01c234f42697e190a2ac95991780626 Mon Sep 17 00:00:00 2001
From: Doug Evans <dje@google.com>
Date: Mon, 26 Oct 2015 13:20:12 -0700
Subject: [PATCH] Add some casts for building on musl.
gdb/ChangeLog:
* linux-thread-db.c (find_new_threads_callback): Cast ti.ti_tid to
unsigned long for debug_printf.
(thread_db_pid_to_str): Ditto.
gdb/gdbserver/ChangeLog:
* thread-db.c (find_one_thread): Cast ti.ti_tid to unsigned long
for debug_printf.
(attach_thread, find_new_threads_callback): Ditto.
[Arnout: removed the parts that don't apply, including ChangeLog]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
gdb/ChangeLog | 5 +++++
gdb/gdbserver/ChangeLog | 6 ++++++
gdb/gdbserver/thread-db.c | 9 +++++----
gdb/linux-thread-db.c | 5 +++--
4 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/gdb/gdbserver/thread-db.c b/gdb/gdbserver/thread-db.c
index ffe722d..3df10ff 100644
--- a/gdb/gdbserver/thread-db.c
+++ b/gdb/gdbserver/thread-db.c
@@ -278,7 +278,7 @@ find_one_thread (ptid_t ptid)
if (debug_threads)
debug_printf ("Found thread %ld (LWP %d)\n",
- ti.ti_tid, ti.ti_lid);
+ (unsigned long) ti.ti_tid, ti.ti_lid);
if (lwpid != ti.ti_lid)
{
@@ -319,12 +319,12 @@ attach_thread (const td_thrhandle_t *th_p, td_thrinfo_t *ti_p)
if (debug_threads)
debug_printf ("Attaching to thread %ld (LWP %d)\n",
- ti_p->ti_tid, ti_p->ti_lid);
+ (unsigned long) ti_p->ti_tid, ti_p->ti_lid);
err = linux_attach_lwp (ptid);
if (err != 0)
{
warning ("Could not attach to thread %ld (LWP %d): %s\n",
- ti_p->ti_tid, ti_p->ti_lid,
+ (unsigned long) ti_p->ti_tid, ti_p->ti_lid,
linux_ptrace_attach_fail_reason_string (ptid, err));
return 0;
}
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index 66e9595..41db29a 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -1816,7 +1817,7 @@ thread_db_pid_to_str (struct target_ops *ops, ptid_t ptid)
tid = thread_info->priv->tid;
snprintf (buf, sizeof (buf), "Thread 0x%lx (LWP %ld)",
- tid, ptid_get_lwp (ptid));
+ (unsigned long) tid, ptid_get_lwp (ptid));
return buf;
}
--
1.9.4

View File

@@ -1,63 +0,0 @@
From 963843d4d07aef6caa296dacf191f8adc9518596 Mon Sep 17 00:00:00 2001
From: Doug Evans <dje@google.com>
Date: Mon, 26 Oct 2015 13:24:01 -0700
Subject: [PATCH] musl: Move W_STOPCODE to common/gdb_wait.h.
gdb/ChangeLog:
* common/gdb_wait.h (W_STOPCODE): Define, moved here from
gdbserver/linux-low.c.
(WSETSTOP): Simplify.
gdb/gdbserver/ChangeLog:
* linux-low.c (W_STOPCODE): Moved to common/gdb_wait.h.
[Arnout: removed the parts that don't apply, including ChangeLog]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
gdb/ChangeLog | 6 ++++++
gdb/common/gdb_wait.h | 8 ++++----
gdb/gdbserver/ChangeLog | 4 ++++
gdb/gdbserver/linux-low.c | 4 ----
4 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/gdb/common/gdb_wait.h b/gdb/common/gdb_wait.h
index 9b250d2..412f813 100644
--- a/gdb/common/gdb_wait.h
+++ b/gdb/common/gdb_wait.h
@@ -85,12 +85,12 @@
# endif
#endif
+#ifndef W_STOPCODE
+#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
+#endif
+
#ifndef WSETSTOP
-# ifdef W_STOPCODE
#define WSETSTOP(w,sig) ((w) = W_STOPCODE(sig))
-# else
-#define WSETSTOP(w,sig) ((w) = (0177 | ((sig) << 8)))
-# endif
#endif
/* For native GNU/Linux we may use waitpid and the __WCLONE option.
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 0c552b8..7ed67c7 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -70,10 +70,6 @@
#define O_LARGEFILE 0
#endif
-#ifndef W_STOPCODE
-#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
-#endif
-
/* This is the kernel's hard limit. Not to be confused with
SIGRTMIN. */
#ifndef __SIGRTMIN
--
1.9.4

View File

@@ -1,58 +0,0 @@
From 682b25469e66ea45b214e95962671373983c118f Mon Sep 17 00:00:00 2001
From: Doug Evans <dje@google.com>
Date: Mon, 26 Oct 2015 13:30:57 -0700
Subject: [PATCH] Move __SIGRTMIN.
gdb/ChangeLog:
* nat/linux-nat.h (__SIGRTMIN): Move here from gdbserver/linux-low.c.
gdb/gdbserver/ChangeLog:
* linux-low.c (__SIGRTMIN): Move to nat/linux-nat.h.
[Arnout: removed the parts that don't apply, including ChangeLog]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
gdb/ChangeLog | 4 ++++
gdb/gdbserver/ChangeLog | 4 ++++
gdb/gdbserver/linux-low.c | 6 ------
gdb/nat/linux-nat.h | 5 +++++
4 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 7ed67c7..e778c4c 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -70,12 +70,6 @@
#define O_LARGEFILE 0
#endif
-/* This is the kernel's hard limit. Not to be confused with
- SIGRTMIN. */
-#ifndef __SIGRTMIN
-#define __SIGRTMIN 32
-#endif
-
/* Some targets did not define these ptrace constants from the start,
so gdbserver defines them locally here. In the future, these may
be removed after they are added to asm/ptrace.h. */
diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h
index 0633fa9..70e6274 100644
--- a/gdb/nat/linux-nat.h
+++ b/gdb/nat/linux-nat.h
@@ -25,6 +25,11 @@
struct lwp_info;
struct arch_lwp_info;
+/* This is the kernel's hard limit. Not to be confused with SIGRTMIN. */
+#ifndef __SIGRTMIN
+#define __SIGRTMIN 32
+#endif
+
/* Unlike other extended result codes, WSTOPSIG (status) on
PTRACE_O_TRACESYSGOOD syscall events doesn't return SIGTRAP, but
instead SIGTRAP with bit 7 set. */
--
1.9.4

View File

@@ -40,10 +40,10 @@ config BR2_PACKAGE_GDB_DEBUGGER
bool "full debugger"
select BR2_PACKAGE_NCURSES
depends on BR2_USE_WCHAR
depends on !BR2_sh && !BR2_sh64 && !BR2_microblaze
depends on !BR2_sh && !BR2_microblaze
comment "full gdb on target needs a toolchain w/ wchar"
depends on !BR2_sh && !BR2_sh64 && !BR2_microblaze
depends on !BR2_sh && !BR2_microblaze
depends on !BR2_USE_WCHAR
if BR2_PACKAGE_GDB_DEBUGGER

View File

@@ -1,3 +1,5 @@
comment "Host GDB Options"
config BR2_PACKAGE_HOST_GDB
bool "Build cross gdb for the host"
# When the external toolchain gdbserver is used, we shouldn't
@@ -25,7 +27,7 @@ config BR2_PACKAGE_HOST_GDB_PYTHON
config BR2_PACKAGE_HOST_GDB_SIM
bool "Simulator support"
depends on !BR2_arc
depends on !BR2_arc && !BR2_microblaze
help
This option enables the simulator support in the cross gdb.
@@ -33,19 +35,19 @@ choice
prompt "GDB debugger Version"
depends on !BR2_arc
depends on !BR2_microblaze
default BR2_GDB_VERSION_7_10
default BR2_GDB_VERSION_7_11
help
Select the version of gdb you wish to use.
config BR2_GDB_VERSION_7_9
bool "gdb 7.9.x"
config BR2_GDB_VERSION_7_10
bool "gdb 7.10.x"
config BR2_GDB_VERSION_7_11
bool "gdb 7.11.x"
config BR2_GDB_VERSION_7_12
bool "gdb 7.12.x"
endchoice
endif
@@ -54,8 +56,8 @@ endif
config BR2_GDB_VERSION
string
depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB
default "arc-2016.03-gdb" if BR2_arc
default "arc-2016.09-release-gdb" if BR2_arc
default "6be65fb56ea6694a9260733a536a023a1e2d4d57" if BR2_microblaze
default "7.9.1" if BR2_GDB_VERSION_7_9
default "7.10.1" if BR2_GDB_VERSION_7_10 || !BR2_PACKAGE_HOST_GDB
default "7.11.1" if BR2_GDB_VERSION_7_11
default "7.10.1" if BR2_GDB_VERSION_7_10
default "7.11.1" if BR2_GDB_VERSION_7_11 || !BR2_PACKAGE_HOST_GDB
default "7.12.1" if BR2_GDB_VERSION_7_12

View File

@@ -1,8 +1,8 @@
# From ftp://gcc.gnu.org/pub/gdb/releases/sha512.sum
sha512 eebdf88b24e52e792b8a4b89ea85790de72b462a7810b44975fdf4232c068f353b15506071f450102a9d4bcecdde8e93dc3748a10699b7f73f3e04fb2d9d8414 gdb-7.9.1.tar.xz
sha512 17a5138277a31685a5c2a841cb47ed9bc4626ea617b8ca77750513b300299f4fbbffe504958b5372de610dcb952c679cf8fa9c1bdadd380294fbf59b6e366010 gdb-7.10.1.tar.xz
sha512 f80ec6c8a0f0b54c8b945666e875809174402b7e121efb378ebac931a91f9a1cc0048568f8e2f42ae8ae2392ff8d144c2e51d41c7398935017450aaf29838360 gdb-7.11.1.tar.xz
sha512 0ac8d0a495103611ef41167a08313a010dce6ca4c6d827cbe8558a0c1a1a8a6bfa53f1b7704251289cababbfaaf9e075550cdf741a54d6cd9ca3433d910efcd8 gdb-7.12.1.tar.xz
# Locally calculated (fetched from Github)
sha512 0a467091d4b01fbecabb4b8da1cb743025c70e7f4874a0b5c8fa2ec623569a39bde6762b91806de0be6e63711aeb6909715cfbe43860de73d8aec6159a9f10a7 gdb-6be65fb56ea6694a9260733a536a023a1e2d4d57.tar.gz
sha512 1abef1357896c2b57cfa7f7414eedc49d0de26b54321c680c2d027b1a27ec453d421e7f89a5281336047542379fd4820685802059efbd32b87c5ccffbaf2bd16 gdb-arc-2016.03-gdb.tar.gz
sha512 3b204108821ba687974e61bb47f0ab91621ac233503cec6c82913bcb665a8c0cea0c8b992177b2fb6befade774c2491d94c72a1bf859f9b79d44755be05dcd64 gdb-arc-2016.09-release-gdb.tar.gz

View File

@@ -37,12 +37,11 @@ endif
# also need ncurses.
HOST_GDB_DEPENDENCIES = host-expat host-ncurses
# Starting with gdb 7.10, gdb wants to re-generate its documentation.
# We were trying to avoid that by patching the Makefiles, but it wasn't
# working in all situations. So, we simply add a dependency on
# host-texinfo in all case.
GDB_DEPENDENCIES += host-texinfo
HOST_GDB_DEPENDENCIES += host-texinfo
# Disable building documentation
GDB_MAKE_OPTS += MAKEINFO=true
GDB_INSTALL_TARGET_OPTS += MAKEINFO=true DESTDIR=$(TARGET_DIR) install
HOST_GDB_MAKE_OPTS += MAKEINFO=true
HOST_GDB_INSTALL_OPTS += MAKEINFO=true install
# Apply the Xtensa specific patches
XTENSA_CORE_NAME = $(call qstrip, $(BR2_XTENSA_CORE_NAME))
@@ -101,6 +100,19 @@ GDB_CONF_OPTS = \
--disable-werror \
--enable-static
# When gdb is built as C++ application for ARC it segfaults at runtime
# So we pass --disable-build-with-cxx config option to force gdb not to
# be built as C++ app.
ifeq ($(BR2_arc),y)
GDB_CONF_OPTS += --disable-build-with-cxx
endif
# gdb 7.12+ by default builds with a C++ compiler, which doesn't work
# when we don't have C++ support in the toolchain
ifneq ($(BR2_INSTALL_LIBSTDCPP),y)
GDB_CONF_OPTS += --disable-build-with-cxx
endif
ifeq ($(BR2_PACKAGE_GDB_TUI),y)
GDB_CONF_OPTS += --enable-tui
else