Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13849
-gerrit
commit 7d07324c79e02ab81f71ae4669a7761e31e6f23a Author: Stefan Reinauer stefan.reinauer@coreboot.org Date: Sat Feb 27 12:35:54 2016 -0800
buildgcc: Fix building GDB for mipsel-elf
Change-Id: I31ed159b13c0da60383068832615c6e4a9608efe Signed-off-by: Stefan Reinauer stefan.reinauer@coreboot.org --- util/crossgcc/patches/gdb-7.9.1_sim-arange.patch | 61 ++++++++++++++++++++++++ 1 file changed, 61 insertions(+)
diff --git a/util/crossgcc/patches/gdb-7.9.1_sim-arange.patch b/util/crossgcc/patches/gdb-7.9.1_sim-arange.patch new file mode 100644 index 0000000..bf56c2d --- /dev/null +++ b/util/crossgcc/patches/gdb-7.9.1_sim-arange.patch @@ -0,0 +1,61 @@ +From: Mike Frysinger <vapier at gentoo dot org> + +With newer versions of gcc (5.x), the extern inline we're using with the +sim-arange module no longer works. Since this code really wants the gnu +inline semantics, use that attribute explicitly. + +Reported-by: DJ Delorie dj@redhat.com +Reported-by: Joel Sherrill joel.sherrill@oarcorp.com + +diff -urN gdb-7.9.1.orig/sim/common/sim-arange.h gdb-7.9.1/sim/common/sim-arange.h +--- gdb-7.9.1.orig/sim/common/sim-arange.h 2015-05-13 10:36:05.000000000 -0700 ++++ gdb-7.9.1/sim/common/sim-arange.h 2016-02-27 12:22:58.090512073 -0800 +@@ -60,22 +60,26 @@ + address_word /*start*/, + address_word /*end*/); + ++/* TODO: This should get moved into sim-inline.h. */ ++#ifdef HAVE_INLINE ++#ifdef SIM_ARANGE_C ++#define SIM_ARANGE_INLINE INLINE ++#else ++#define SIM_ARANGE_INLINE EXTERN_INLINE ++#endif ++#else ++#define SIM_ARANGE_INLINE EXTERN ++#endif ++ + /* Return non-zero if ADDR is in range AR, traversing the entire tree. + If no range is specified, that is defined to mean "everything". */ +-extern INLINE int ++SIM_ARANGE_INLINE int + sim_addr_range_hit_p (ADDR_RANGE * /*ar*/, address_word /*addr*/); + #define ADDR_RANGE_HIT_P(ar, addr) \ + ((ar)->range_tree == NULL || sim_addr_range_hit_p ((ar), (addr))) + + #ifdef HAVE_INLINE +-#ifdef SIM_ARANGE_C +-#define SIM_ARANGE_INLINE INLINE +-#else +-#define SIM_ARANGE_INLINE EXTERN_INLINE +-#endif + #include "sim-arange.c" +-#else +-#define SIM_ARANGE_INLINE + #endif + #define SIM_ARANGE_C_INCLUDED + +diff -urN gdb-7.9.1.orig/sim/common/sim-inline.h gdb-7.9.1/sim/common/sim-inline.h +--- gdb-7.9.1.orig/sim/common/sim-inline.h 2015-05-13 10:36:05.000000000 -0700 ++++ gdb-7.9.1/sim/common/sim-inline.h 2016-02-27 12:23:58.169085087 -0800 +@@ -303,7 +303,9 @@ + /* ??? Temporary, pending decision to always use extern inline and do a vast + cleanup of inline support. */ + #ifndef INLINE2 +-#if defined (__GNUC__) ++#if defined (__GNUC_GNU_INLINE__) || defined (__GNUC_STDC_INLINE__) ++#define INLINE2 __inline__ __attribute__ ((__gnu_inline__)) ++#elif defined (__GNUC__) + #define INLINE2 __inline__ + #else + #define INLINE2 /*inline*/