diff mbox

[OpenWrt-Devel] package/devel/gdb: Add support of ARC gdb

Message ID 1464795158-4753-1-git-send-email-abrodkin@synopsys.com
State Changes Requested
Delegated to: Zoltan HERPAI
Headers show

Commit Message

Alexey Brodkin June 1, 2016, 3:32 p.m. UTC
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 <abrodkin@synopsys.com>
Cc: John Crispin <john@phrozen.org>
Cc: Felix Fietkau <nbd@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

Comments

Dirk Neukirchen June 1, 2016, 4:21 p.m. UTC | #1
On 01.06.2016 17:32, Alexey Brodkin wrote:
> 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------------

rules.mk with its SHELL:=/usr/bin/env bash is the culprit

I had some issues when I set CONFIG_SHELL in the same  way
- using SHELL:=/bin/bash probably fixes this but might have
other side effects or breakage (globally/for other packages)
Alexey Brodkin June 1, 2016, 4:28 p.m. UTC | #2
Hi Dirk,

On Wed, 2016-06-01 at 18:21 +0200, Dirk Neukirchen wrote:
> On 01.06.2016 17:32, Alexey Brodkin wrote:
> > 
> > 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------------
> rules.mk with its SHELL:=/usr/bin/env bash is the culprit

I think so.

> I had some issues when I set CONFIG_SHELL in the same  way
> - using SHELL:=/bin/bash probably fixes this but might have
> other side effects or breakage (globally/for other packages)

Indeed.

But anyways we don't need GDB's simulator to be built here,
so change itself is pretty sane.

-Alexey
John Crispin June 3, 2016, 9:09 a.m. UTC | #3
Hi,

On 01/06/2016 17:32, Alexey Brodkin wrote:
> 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------
> 

these work for !arc targets. disabling them for all targets because they
are broken on arc seem weird even if they might not be used.

rather than cluttering the makefile how about marking the packahe broken
for arc and adding a new one called gdb-arc that depends on arc only.
this will allow us to keep gdb clean and just drop the gdb-arc package
once the fixes treacled down the tree.

	John


> 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 <abrodkin@synopsys.com>
> Cc: John Crispin <john@phrozen.org>
> Cc: Felix Fietkau <nbd@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
> +     ;;
>
Alexey Brodkin June 3, 2016, 2:46 p.m. UTC | #4
Hi John,

On Fri, 2016-06-03 at 11:09 +0200, John Crispin wrote:
> Hi,
> 
> On 01/06/2016 17:32, Alexey Brodkin wrote:
> > 
> > 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------
> > 
> these work for !arc targets. disabling them for all targets because they
> are broken on arc seem weird even if they might not be used.
> 
> rather than cluttering the makefile how about marking the packahe broken
> for arc and adding a new one called gdb-arc that depends on arc only.
> this will allow us to keep gdb clean and just drop the gdb-arc package
> once the fixes treacled down the tree.

Well all 3 options except "--sim" are very valid because modern GDB sources
come from "unified" git repo where binutils co-exist with gdb.

That's done on purpose because a lot of stuff indeed is the same in both
projects. And there's really no point in building either binutils, ld or gas
when we're building GDB. Disabling those options we at least saving some time
and in some cases may escape build failures.

Mentioned build failures might happen with some even release versions of GDB
tarballs. Again that is because gdb comes from the same unified repo BUT
(and that's important) still from the separate branch and so some parts of
binutils might be taken from "binutils" branch in unstable state.

In other words disabling build of not used components is pretty safe and
future-proof. And simulator falls here as well - we don't need it anyways
for either arch/board.

As for adding a separate package... we'll need to propagate new Kconfig symbol in
other files and so instead of limiting changes to 1 file we'll spread our
contamination all over source tree. Do we really want it?

-Alexey
diff mbox

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
+     ;;