Re: [OpenWrt-Devel] [PATCH 1/2 v3] toolchain: add support of ARC architecture

2015-11-02 Thread Felix Fietkau
On 2015-11-03 00:27, Alexey Brodkin wrote:
> This includes binutils, gcc, gdb and uClibc-ng.
> 
> Latest release of ARC gcc (as of today it is "arc-2015.06")
> is based on upstream gcc 4.8.4.
> 
> Sources are available on GitHub, see:
> https://github.com/foss-for-synopsys-dwc-arc-processors/gcc
> 
> Latest release of ARC binutils (as of today it is "arc-2015.06")
> is based on upstream binutils 2.23.
> 
> Sources are available on GitHub, see:
> https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06
> 
> Latest release of ARC GDB (as of today this is "arc-2015.06-gdb")
> is based on upstream gdb 7.9.1.
> 
> Sources are available on GitHub, see:
> https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06-gdb
> 
> Note that for binutils and gdb that come from unified git repository
> (which is the case for upstream binutils/gdb today) we need to disable
> building of gdb in binutils and binutils in gdb hence in binutils:
> -->8--
> --disable-sim
> --disable-gdb
> -->8--
> 
> and in gdb:
> -->8--
> --disable-binutils
> --disable-ld
> --disable-gas
> -->8--
> 
> Also in gdb 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
> 
> Cc: Felix Fietkau 
> Cc: John Crispin 
> Signed-off-by: Alexey Brodkin 
> --- a/toolchain/binutils/Makefile
> +++ b/toolchain/binutils/Makefile
]> @@ -17,13 +24,15 @@ ifeq ($(findstring linaro,
$(CONFIG_BINUTILS_VERSION)),linaro)
>PKG_MD5SUM:=8f9b2b2e049d59b1b86ce9657802a353
>BINUTILS_DIR:=$(PKG_NAME)-linaro-$(PKG_REV)
>HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(BINUTILS_DIR)
> -else
> -  PKG_SOURCE_URL:=@GNU/binutils/
> -  PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
> +endif
>  
> -  ifeq ($(PKG_VERSION),2.25.1)
> -PKG_MD5SUM:=ac493a78de4fee895961d025b7905be4
> -  endif
> +ifneq ($(CONFIG_BINUTILS_VERSION_2_23_ARC),)
> + 
> PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/arc-2015.06/
> + PKG_REV:=2015.06
> + PKG_SOURCE:=$(PKG_NAME)-arc-$(PKG_REV).tar.gz
> + PKG_MD5SUM:=961a3564de857238c255c381f8e4360b
> + BINUTILS_DIR:=$(PKG_NAME)-gdb-arc-$(PKG_REV)
> + HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(BINUTILS_DIR)
>  endif
This part is broken, it needs to be indented with spaces instead of tabs.

> diff --git a/toolchain/uClibc/Config.version b/toolchain/uClibc/Config.version
> index 7804da4..23270dd 100644
> --- a/toolchain/uClibc/Config.version
> +++ b/toolchain/uClibc/Config.version
> @@ -4,6 +4,7 @@ config UCLIBC_VERSION
>   default "1.0.8"
>  
>  config UCLIBC_VERSION_NG
> + default y if !TOOLCHAINOPTS && USE_UCLIBC && arc
>   bool
>   depends on USE_UCLIBC
>   default y
Please drop this change, it is unnecessary.

- Felix
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/2 v3] toolchain: add support of ARC architecture

2015-11-02 Thread Alexey Brodkin
This includes binutils, gcc, gdb and uClibc-ng.

Latest release of ARC gcc (as of today it is "arc-2015.06")
is based on upstream gcc 4.8.4.

Sources are available on GitHub, see:
https://github.com/foss-for-synopsys-dwc-arc-processors/gcc

Latest release of ARC binutils (as of today it is "arc-2015.06")
is based on upstream binutils 2.23.

Sources are available on GitHub, see:
https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06

Latest release of ARC GDB (as of today this is "arc-2015.06-gdb")
is based on upstream gdb 7.9.1.

Sources are available on GitHub, see:
https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06-gdb

Note that for binutils and gdb that come from unified git repository
(which is the case for upstream binutils/gdb today) we need to disable
building of gdb in binutils and binutils in gdb hence in binutils:
-->8--
--disable-sim
--disable-gdb
-->8--

and in gdb:
-->8--
--disable-binutils
--disable-ld
--disable-gas
-->8--

Also in gdb 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

Cc: Felix Fietkau 
Cc: John Crispin 
Signed-off-by: Alexey Brodkin 
---

Changes compared to v2:
 * Rebased on top of the current master.
   In particular that commit touches uClibc files:
   
http://git.openwrt.org/?p=openwrt.git;a=commit;h=b70a36d1d969f5aa9ad081c9a395633793582a5a

Changes compared to v1:
 * Binutils Kconfig description is now similar to Gcc and uClibc.
   This allows selection of different versions of binutils.

 * CONFIG_BINUTILS_VERSION_2_23_ARC is used for deciding if we need to
   obtain ARC's binutils.

 * Rebased on current master

 include/site/arc   |  30 +++
 include/target.mk  |   4 +
 toolchain/Config.in|   9 +-
 toolchain/binutils/Config.in   |  23 +-
 toolchain/binutils/Config.version  |  17 ++
 toolchain/binutils/Makefile|  29 ++-
 toolchain/gcc/Config.in|   9 +
 toolchain/gcc/Config.version   |   9 +-
 toolchain/gcc/common.mk|  31 ++-
 .../001-revert_register_mode_search.patch  |  65 ++
 .../patches/arc-2015.06/002-weak_data_fix.patch|  42 
 .../arc-2015.06/003-universal_initializer.patch|  94 
 .../patches/arc-2015.06/004-case_insensitive.patch |  14 ++
 .../patches/arc-2015.06/010-documentation.patch|  23 ++
 .../patches/arc-2015.06/020-no-plt-backport.patch  |  28 +++
 .../gcc/patches/arc-2015.06/100-uclibc-conf.patch  |  33 +++
 .../210-disable_libsanitizer_off_t_check.patch |  11 +
 .../arc-2015.06/800-arc-disablelibgmon.patch   |  18 ++
 .../gcc/patches/arc-2015.06/820-libgcc_pic.patch   |  36 +++
 .../arc-2015.06/850-use_shared_libgcc.patch|  47 
 .../patches/arc-2015.06/851-libgcc_no_compat.patch |  12 +
 .../gcc/patches/arc-2015.06/860-use_eh_frame.patch |  42 
 .../patches/arc-2015.06/870-ppc_no_crtsavres.patch |  11 +
 .../patches/arc-2015.06/880-no_java_section.patch  |  11 +
 .../gcc/patches/arc-2015.06/910-mbsd_multi.patch   | 253 +
 .../arc-2015.06/920-specs_nonfatal_getenv.patch|  14 ++
 .../arc-2015.06/940-no-clobber-stamp-bits.patch|  11 +
 toolchain/gdb/Makefile |  19 +-
 toolchain/uClibc/Config.version|   1 +
 toolchain/uClibc/common.mk |   1 +
 toolchain/uClibc/config/arc|  11 +
 31 files changed, 927 insertions(+), 31 deletions(-)
 create mode 100644 include/site/arc
 create mode 100644 toolchain/binutils/Config.version
 create mode 100644 
toolchain/gcc/patches/arc-2015.06/001-revert_register_mode_search.patch
 create mode 100644 toolchain/gcc/patches/arc-2015.06/002-weak_data_fix.patch
 create mode 100644 
toolchain/gcc/patches/arc-2015.06/003-universal_initializer.patch
 create mode 100644 toolchain/gcc/patches/arc-2015.06/004-case_insensitive.patch
 create mode 100644 toolchain/gcc/patches/arc-2015.06/010-documentation.patch
 create mode 100644 toolchain/gcc/patches/arc-2015.06/020-no-plt-backport.patch
 create mode 100644 toolchain/gcc/patches/arc-2015.06/100-uclibc-conf.patch
 create mode 100644 
toolchain/gcc/patches/arc-2015.06/210-disable_libsanitizer_off_t_check.patch
 create mode 100644 
toolchain/gcc/patches/arc-2015.06/800-arc-disablelibgmon.patch
 create mode 100644