Re: [OpenWrt-Devel] [LEDE-DEV] [PATCH] package/devel/gdb: Add support of ARC gdb

2016-06-03 Thread Alexey Brodkin
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
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [LEDE-DEV] [PATCH] package/devel/gdb: Add support of ARC gdb

2016-06-03 Thread John Crispin
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 
> Cc: John Crispin 
> Cc: Felix Fietkau 
> ---
>  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 000..8c18c6e
> --- /dev/null
> +++ b/package/devel/gdb/patches/arc-2016.03/100-no_extern_inline.patch
> @@ -0,0 +1,32 @@
> +---