diff options
Diffstat (limited to 'toolchain')
91 files changed, 800787 insertions, 24468 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile index a7302bdb2..c9e17c9cc 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -41,9 +41,9 @@ endif ifeq ($(ADK_TOOLCHAIN_WITH_GDB),y) # disable gdb for some architectures -ifeq ($(ADK_TARGET_ARCH_ARC)$(ADK_TARGET_ARCH_CR16)$(ADK_TARGET_ARCH_EPIPHANY)$(ADK_TARGET_ARCH_METAG)$(ADK_TARGET_ARCH_NDS32)$(ADK_TARGET_ARCH_OR1K),) -TARGETS+=gdb -GDB:=gdb-install +ifeq ($(ADK_TARGET_ARCH_CR16)$(ADK_TARGET_ARCH_EPIPHANY)$(ADK_TARGET_ARCH_METAG)$(ADK_TARGET_ARCH_NDS32),) +TARGETS+=expat gdb +GDB:=expat-install gdb-install endif endif diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index 7136cf66e..fdedaeaff 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -18,14 +18,8 @@ else CONFOPTS+= --disable-lto --disable-plugins endif -ifeq ($(ADK_TOOLCHAIN_WITH_GOLD),y) -ifeq ($(ADK_TARGET_USE_GOLD),y) -CONFOPTS+= --enable-gold=default -else -CONFOPTS+= --enable-gold -endif -else -CONFOPTS+= --disable-gold +ifeq ($(ADK_TARGET_ARCH_ARC),y) +CONFOPTS+= --enable-lto --enable-plugins endif ifeq ($(ADK_TARGET_ARCH_X86_64)$(ADK_TARGET_CPU_CF),) @@ -40,11 +34,15 @@ endif $(WRKBUILD)/.configured: ifeq ($(ADK_TARGET_ARCH_XTENSA),y) +ifeq ($(ADK_TARGET_ABI),) tar xf $(ADK_TOPDIR)/target/xtensa/overlay/xtensa_$(ADK_TARGET_CPU_TYPE).tar \ --strip-components=1 -C $(WRKSRC) binutils +else + tar xf $(ADK_TOPDIR)/target/xtensa/overlay/xtensa_$(ADK_TARGET_CPU_TYPE)_$(ADK_TARGET_ABI).tar \ + --strip-components=1 -C $(WRKSRC) binutils +endif endif (cd $(WRKBUILD); PATH='$(HOST_PATH)' \ - LDFLAGS=-ldl \ MAKEINFO=true \ M4='${STAGING_HOST_DIR}/usr/bin/m4' \ $(WRKBUILD)/configure \ @@ -58,6 +56,8 @@ endif --disable-gdb \ --enable-obsolete \ --disable-werror \ + --disable-gprof \ + --enable-gprofng=no \ --disable-install-libiberty \ ${CONFOPTS} \ ); @@ -65,24 +65,19 @@ endif touch $@ $(WRKBUILD)/.compiled: $(WRKBUILD)/.configured - PATH='$(HOST_PATH)' $(MAKE) ${BINUTILS_MAKEOPTS} MAKEINFO=true -C $(WRKBUILD) all + PATH='$(HOST_PATH)' V=1 $(MAKE) ${BINUTILS_MAKEOPTS} LDFLAGS='$(HOST_STATIC_LDFLAGS)' MAKEINFO=true -C $(WRKBUILD) all touch $@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled PATH='$(HOST_PATH)' $(MAKE) MAKEINFO=true -C $(WRKBUILD) install -ifeq ($(ADK_TARGET_ARCH_H8300)$(ADK_TARGET_ARCH_NDS32)$(ADK_TARGET_ARCH_SH),y) +ifeq ($(ADK_TARGET_ARCH_KVX)$(ADK_TARGET_ARCH_H8300)$(ADK_TARGET_ARCH_NDS32)$(ADK_TARGET_ARCH_SH),y) $(INSTALL_DIR) $(STAGING_TARGET_DIR)/usr/lib/ldscripts $(CP) $(WRKBUILD)/ld/ldscripts/* $(STAGING_TARGET_DIR)/usr/lib/ldscripts/ endif -ifeq ($(ADK_TARGET_USE_GOLD),y) - (cd $(TOOLCHAIN_DIR)/usr/bin && \ - ln -sf $(GNU_TARGET_NAME)-ld.gold $(GNU_TARGET_NAME)-ld) -else ifeq (ADK_TOOLCHAIN_BINUTILS_AVR32),) (cd $(TOOLCHAIN_DIR)/usr/bin && \ ln -sf $(GNU_TARGET_NAME)-ld.bfd $(GNU_TARGET_NAME)-ld) endif -endif touch $@ include ${ADK_TOPDIR}/mk/toolchain.mk diff --git a/toolchain/binutils/Makefile.inc b/toolchain/binutils/Makefile.inc index ac252de32..af6479f15 100644 --- a/toolchain/binutils/Makefile.inc +++ b/toolchain/binutils/Makefile.inc @@ -2,40 +2,82 @@ # material, please see the LICENCE file in the top-level directory. PKG_NAME:= binutils +ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_44),y) +PKG_VERSION:= 2.44 +PKG_RELEASE:= 1 +PKG_HASH:= 0cdd76777a0dfd3dd3a63f215f030208ddb91c2361d2bcc02acec0f1c16b6a2e +PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz +endif +ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_43_1),y) +PKG_VERSION:= 2.43.1 +PKG_RELEASE:= 1 +PKG_HASH:= e4c38b893f590853fbe276a6b8a1268101e35e61849a07f6ee97b5ecc97fbff8 +PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz +endif +ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_42),y) +PKG_VERSION:= 2.42 +PKG_RELEASE:= 1 +PKG_HASH:= 5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc +PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz +endif +ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_41),y) +PKG_VERSION:= 2.41 +PKG_RELEASE:= 1 +PKG_HASH:= 48d00a8dc73aa7d2394a7dc069b96191d95e8de8f0da6dc91da5cce655c20e45 +PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz +endif +ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_40),y) +PKG_VERSION:= 2.40 +PKG_RELEASE:= 1 +PKG_HASH:= d7f82c4047decf43a6f769ac32456a92ddb6932409a585c633cdd4e9df23d956 +PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz +endif +ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_39),y) +PKG_VERSION:= 2.39 +PKG_RELEASE:= 1 +PKG_HASH:= d12ea6f239f1ffe3533ea11ad6e224ffcb89eb5d01bbea589e9158780fa11f10 +PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz +endif +ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_38),y) +PKG_VERSION:= 2.38 +PKG_RELEASE:= 1 +PKG_HASH:= b3f1dc5b17e75328f19bd88250bee2ef9f91fc8cbb7bd48bdb31390338636052 +PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz +endif ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_37),y) PKG_VERSION:= 2.37 PKG_RELEASE:= 1 -PKG_HASH:= 820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c +PKG_HASH:= c44968b97cd86499efbc4b4ab7d98471f673e5414c554ef54afa930062dbbfcb PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} -DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz endif -ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_28),y) -PKG_VERSION:= 2.28 +ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_26),y) +PKG_VERSION:= 2.26 PKG_RELEASE:= 1 -PKG_HASH:= cd717966fc761d840d451dbd58d44e1e5b92949d2073d75b73fccb476d772fcf +PKG_HASH:= 9615feddaeedc214d1a1ecd77b6697449c952eab69d79ab2125ea050e944bcc1 PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz endif -ifeq ($(ADK_TOOLCHAIN_BINUTILS_ARC),y) -PKG_VERSION:= arc-2020.09 -PKG_GIT:= tag -PKG_RELEASE:= 1 -PKG_SITES:= https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb.git -DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz -endif ifeq ($(ADK_TOOLCHAIN_BINUTILS_KVX),y) -PKG_VERSION:= c5e8437af055869c8666a1c1e5a391d9af5be0c0 +PKG_VERSION:= 782547a4e2bdf1308728032853678ca69bb154ea PKG_GIT:= hash PKG_RELEASE:= 1 PKG_SITES:= https://github.com/kalray/gdb-binutils.git -DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz endif -ifeq ($(ADK_TOOLCHAIN_BINUTILS_NDS32),y) -PKG_VERSION:= nds32-binutils-2.30-branch-open -PKG_GIT:= branch +ifeq ($(ADK_TOOLCHAIN_BINUTILS_ARC),y) +PKG_VERSION:= arc-2024.12 +PKG_GIT:= tag PKG_RELEASE:= 1 -PKG_SITES:= https://github.com/andestech/binutils.git -DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz +PKG_SITES:= https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb.git +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz endif ifeq ($(ADK_TOOLCHAIN_BINUTILS_AVR32),y) PKG_VERSION:= 2.20.1 @@ -44,9 +86,23 @@ PKG_HASH:= 71d37c96451333c5c0b84b170169fdcb138bbb27397dc06281905d9717c8ed64 PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2 endif +ifeq ($(ADK_TOOLCHAIN_BINUTILS_NDS32),y) +PKG_VERSION:= 2.24 +PKG_RELEASE:= 1 +PKG_HASH:= e5e8c5be9664e7f7f96e0d09919110ab5ad597794f5b1809871177a0f0f14137 +PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2 +endif +ifeq ($(ADK_TOOLCHAIN_BINUTILS_XTENSA),y) +PKG_VERSION:= xtensa-fdpic-abi-spec-1.4 +PKG_GIT:= tag +PKG_RELEASE:= 1 +PKG_SITES:= https://github.com/jcmvbkbc/binutils-gdb-xtensa.git +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz +endif ifeq ($(ADK_TOOLCHAIN_BINUTILS_GIT),y) PKG_VERSION:= git PKG_RELEASE:= 1 PKG_SITES:= git://sourceware.org/git/binutils-gdb.git -DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz endif diff --git a/toolchain/binutils/patches/2.20.1/newer-gcc.patch b/toolchain/binutils/patches/2.20.1/newer-gcc.patch new file mode 100644 index 000000000..b7f42e447 --- /dev/null +++ b/toolchain/binutils/patches/2.20.1/newer-gcc.patch @@ -0,0 +1,24 @@ +diff -Nur binutils-2.20.1.orig/binutils/readelf.c binutils-2.20.1/binutils/readelf.c +--- binutils-2.20.1.orig/binutils/readelf.c 2023-02-03 11:04:53.722082738 +0100 ++++ binutils-2.20.1/binutils/readelf.c 2023-02-03 11:05:27.049296372 +0100 +@@ -150,7 +150,7 @@ + #include "filenames.h" + + char * program_name = "readelf"; +-int do_wide; ++extern int do_wide; + static long archive_file_offset; + static unsigned long archive_file_size; + static unsigned long dynamic_addr; +diff -Nur binutils-2.20.1.orig/gas/config/tc-avr32.c binutils-2.20.1/gas/config/tc-avr32.c +--- binutils-2.20.1.orig/gas/config/tc-avr32.c 2023-02-03 11:04:53.726082644 +0100 ++++ binutils-2.20.1/gas/config/tc-avr32.c 2023-02-03 11:06:12.164234434 +0100 +@@ -47,7 +47,7 @@ + + /* Flags given on the command line */ + static int avr32_pic = FALSE; +-int linkrelax = FALSE; ++//extern int linkrelax = FALSE; + int avr32_iarcompat = FALSE; + + /* This array holds the chars that always start a comment. */ diff --git a/toolchain/binutils/patches/2.24/nds32.patch b/toolchain/binutils/patches/2.24/nds32.patch new file mode 100644 index 000000000..b9fbfbde5 --- /dev/null +++ b/toolchain/binutils/patches/2.24/nds32.patch @@ -0,0 +1,409257 @@ +diff -Nur binutils-2.24.orig/bfd/archures.c binutils-2.24/bfd/archures.c +--- binutils-2.24.orig/bfd/archures.c 2013-11-08 11:02:26.000000000 +0100 ++++ binutils-2.24/bfd/archures.c 2024-05-17 16:15:38.911343345 +0200 +@@ -316,6 +316,12 @@ + .#define bfd_mach_arm_ep9312 11 + .#define bfd_mach_arm_iWMMXt 12 + .#define bfd_mach_arm_iWMMXt2 13 ++. bfd_arch_nds32, {* Andes NDS32 *} ++.#define bfd_mach_n1 1 ++.#define bfd_mach_n1h 2 ++.#define bfd_mach_n1h_v2 3 ++.#define bfd_mach_n1h_v3 4 ++.#define bfd_mach_n1h_v3m 5 + . bfd_arch_ns32k, {* National Semiconductors ns32000 *} + . bfd_arch_w65, {* WDC 65816 *} + . bfd_arch_tic30, { |