As of today gdb port for ARC is not yet in upstream even though we're working hard on that.
Still to allow ARC users to debug user-space apps on top of Linux kernel we're adding here support for building GDB from sources hosted on our GitHub here: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2016.03-gdb Likewise for host GDB sources that come from unified git repository (which is the case for upstream binutils/gdb today) we need to disable building of binutils in gdb: ------>8------ --disable-binutils --disable-ld --disable-gas ------>8------ Also we disable sim because if the following breakage while building with it: ------------>8------------ /usr/bin/env bash ./../common/genmloop.sh -shell /usr/bin/env bash \ -mono -fast -pbb -switch sem5-switch.c \ -cpu a5f -infile ./mloop5.in \ -outfile-suffix 5 unknown option: bash Makefile:699: recipe for target 'stamp-5mloop' failed make[7]: *** [stamp-5mloop] Error 1 ------------>8------------ Signed-off-by: Alexey Brodkin <abrod...@synopsys.com> Cc: John Crispin <j...@phrozen.org> Cc: Felix Fietkau <n...@nbd.name> --- package/devel/gdb/Makefile | 23 ++++++++++++++-- .../001-gdb-pr14523-mips-signal-number.patch | 0 .../gdb/patches/{ => 7.11}/100-musl_fix.patch | 0 .../patches/arc-2016.03/100-no_extern_inline.patch | 32 ++++++++++++++++++++++ .../gdb/patches/arc-2016.03/110-no_testsuite.patch | 21 ++++++++++++++ .../120-fix-compile-flag-mismatch.patch | 11 ++++++++ .../arc-2016.03/200-arc-fix-target-mask.patch | 13 +++++++++ 7 files changed, 98 insertions(+), 2 deletions(-) rename package/devel/gdb/patches/{ => 7.11}/001-gdb-pr14523-mips-signal-number.patch (100%) rename package/devel/gdb/patches/{ => 7.11}/100-musl_fix.patch (100%) create mode 100644 package/devel/gdb/patches/arc-2016.03/100-no_extern_inline.patch create mode 100644 package/devel/gdb/patches/arc-2016.03/110-no_testsuite.patch create mode 100644 package/devel/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch create mode 100644 package/devel/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch diff --git a/package/devel/gdb/Makefile b/package/devel/gdb/Makefile index f6d5fec..2e6b332 100644 --- a/package/devel/gdb/Makefile +++ b/package/devel/gdb/Makefile @@ -8,12 +8,27 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gdb + +ifeq ($(CONFIG_arc),y) +PKG_VERSION:=arc-2016.03-gdb + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/$(PKG_VERSION) +PKG_MD5SUM:=775caaf6385c16f20b6f53c0a2b95f79 +GDB_DIR:=binutils-$(PKG_NAME)-$(PKG_VERSION) +else PKG_VERSION:=7.11 -PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/gdb PKG_MD5SUM:=b5c784685e1cde65ba135feea86b6d75 +GDB_DIR:=$(PKG_NAME)-$(PKG_VERSION) +endif + +PKG_RELEASE:=1 + +PATCH_DIR:=./patches/$(PKG_VERSION) +PKG_BUILD_DIR:=$(BUILD_DIR)/$(GDB_DIR) PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 @@ -55,7 +70,11 @@ CONFIGURE_ARGS+= \ --with-system-readline \ --without-expat \ --without-lzma \ - --disable-werror + --disable-werror \ + --disable-binutils \ + --disable-ld \ + --disable-gas \ + --disable-sim CONFIGURE_VARS+= \ ac_cv_search_tgetent="$(TARGET_LDFLAGS) -lncurses -lreadline" diff --git a/package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch b/package/devel/gdb/patches/7.11/001-gdb-pr14523-mips-signal-number.patch similarity index 100% rename from package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch rename to package/devel/gdb/patches/7.11/001-gdb-pr14523-mips-signal-number.patch diff --git a/package/devel/gdb/patches/100-musl_fix.patch b/package/devel/gdb/patches/7.11/100-musl_fix.patch similarity index 100% rename from package/devel/gdb/patches/100-musl_fix.patch rename to package/devel/gdb/patches/7.11/100-musl_fix.patch diff --git a/package/devel/gdb/patches/arc-2016.03/100-no_extern_inline.patch b/package/devel/gdb/patches/arc-2016.03/100-no_extern_inline.patch new file mode 100644 index 0000000..8c18c6e --- /dev/null +++ b/package/devel/gdb/patches/arc-2016.03/100-no_extern_inline.patch @@ -0,0 +1,32 @@ +--- a/sim/common/sim-arange.c ++++ b/sim/common/sim-arange.c +@@ -280,11 +280,7 @@ sim_addr_range_delete (ADDR_RANGE *ar, a + build_search_tree (ar); + } + +-#endif /* DEFINE_NON_INLINE_P */ +- +-#if DEFINE_INLINE_P +- +-SIM_ARANGE_INLINE int ++int + sim_addr_range_hit_p (ADDR_RANGE *ar, address_word addr) + { + ADDR_RANGE_TREE *t = ar->range_tree; +@@ -301,4 +297,4 @@ sim_addr_range_hit_p (ADDR_RANGE *ar, ad + return 0; + } + +-#endif /* DEFINE_INLINE_P */ ++#endif /* DEFINE_NON_INLINE_P */ +--- a/sim/common/sim-arange.h ++++ b/sim/common/sim-arange.h +@@ -73,7 +73,7 @@ extern void sim_addr_range_delete (ADDR_ + + /* Return non-zero if ADDR is in range AR, traversing the entire tree. + If no range is specified, that is defined to mean "everything". */ +-SIM_ARANGE_INLINE int ++extern 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))) diff --git a/package/devel/gdb/patches/arc-2016.03/110-no_testsuite.patch b/package/devel/gdb/patches/arc-2016.03/110-no_testsuite.patch new file mode 100644 index 0000000..1b284ea --- /dev/null +++ b/package/devel/gdb/patches/arc-2016.03/110-no_testsuite.patch @@ -0,0 +1,21 @@ +--- a/gdb/configure ++++ b/gdb/configure +@@ -870,8 +870,7 @@ MAKEINFOFLAGS + YACC + YFLAGS + XMKMF' +-ac_subdirs_all='testsuite +-gdbtk ++ac_subdirs_all='gdbtk + multi-ice + gdbserver' + +@@ -5610,7 +5610,7 @@ $as_echo "$with_auto_load_safe_path" >&6 + + + +-subdirs="$subdirs testsuite" ++subdirs="$subdirs" + + + # Check whether to support alternative target configurations diff --git a/package/devel/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch b/package/devel/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch new file mode 100644 index 0000000..c8b41f2 --- /dev/null +++ b/package/devel/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch @@ -0,0 +1,11 @@ +--- a/gdb/gdbserver/configure ++++ b/gdb/gdbserver/configure +@@ -2468,7 +2468,7 @@ $as_echo "$as_me: error: \`$ac_var' was + ac_cache_corrupted=: ;; + ,);; + *) +- if test "x$ac_old_val" != "x$ac_new_val"; then ++ if test "`echo x$ac_old_val`" != "`echo x$ac_new_val`"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` diff --git a/package/devel/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch b/package/devel/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch new file mode 100644 index 0000000..7e51d58 --- /dev/null +++ b/package/devel/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch @@ -0,0 +1,13 @@ +diff --git a/bfd/config.bfd b/bfd/config.bfd +index 5145d4a..a9c9c99 100644 +--- a/bfd/config.bfd ++++ b/bfd/config.bfd +@@ -275,7 +275,7 @@ case "${targ}" in + targ_defvec=am33_elf32_linux_vec + ;; + +- arc*-*-elf* | arc*-*-linux-uclibc*) ++ arc*-*-elf* | arc*-*-linux-*) + targ_defvec=arc_elf32_le_vec + targ_selvecs=arc_elf32_be_vec + ;; -- 2.5.5 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel