diff options
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/Config.in | 27 | ||||
-rw-r--r-- | toolchain/Makefile | 4 | ||||
-rw-r--r-- | toolchain/binutils/Makefile | 14 | ||||
-rw-r--r-- | toolchain/gcc/Makefile | 9 | ||||
-rw-r--r-- | toolchain/gcc/patches/4.8.2/miscompile.sparc (renamed from toolchain/gcc/patches/4.8.2/sparc-miscompile.patch) | 0 | ||||
-rw-r--r-- | toolchain/uclibc/Makefile (renamed from toolchain/uClibc/Makefile) | 0 | ||||
-rw-r--r-- | toolchain/uclibc/Makefile.inc (renamed from toolchain/uClibc/Makefile.inc) | 0 | ||||
-rw-r--r-- | toolchain/uclibc/patches/uclibc-git-20140313.patch (renamed from toolchain/uClibc/patches/uclibc-git-20140313.patch) | 0 | ||||
-rw-r--r-- | toolchain/uclibc/patches/xxx-origin.patch (renamed from toolchain/uClibc/patches/xxx-origin.patch) | 0 | ||||
-rw-r--r-- | toolchain/uclibc/patches/xxx-sparc-wait4.patch (renamed from toolchain/uClibc/patches/xxx-sparc-wait4.patch) | 0 |
10 files changed, 42 insertions, 12 deletions
diff --git a/toolchain/Config.in b/toolchain/Config.in index 54016212a..7eb9cdda7 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -10,26 +10,37 @@ config ADK_TOOLCHAIN_GCC_CXX boolean default y -config ADK_TOOLCHAIN_GCC_SSP - prompt "Enable Stack Smashing Protection in GCC" +config ADK_TOOLCHAIN_SSP + prompt "Enable Stack Smashing Protection" boolean default y -config ADK_TOOLCHAIN_GCC_USE_SSP +config ADK_TOOLCHAIN_USE_SSP prompt "Use SSP for all packages" boolean - depends on ADK_TOOLCHAIN_GCC_SSP + depends on ADK_TOOLCHAIN_SSP default n -config ADK_TOOLCHAIN_GCC_LTO - prompt "Enable Link Time Optimization in GCC" +config ADK_TOOLCHAIN_LTO + prompt "Enable Link Time Optimization" boolean default y -config ADK_TOOLCHAIN_GCC_USE_LTO +config ADK_TOOLCHAIN_USE_LTO prompt "Use Link Time Optimization for all packages" boolean - depends on ADK_TOOLCHAIN_GCC_LTO + depends on ADK_TOOLCHAIN_LTO + default n + +config ADK_TOOLCHAIN_GOLD + prompt "Enable GOLD as linker" + boolean + default y + +config ADK_TOOLCHAIN_USE_GOLD + prompt "Use GOLD as linker for all packages" + boolean + depends on ADK_TOOLCHAIN_GOLD default n endmenu diff --git a/toolchain/Makefile b/toolchain/Makefile index c70ea9820..d37117272 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -21,8 +21,8 @@ TARGETS+=glibc LIBC:=glibc endif ifeq ($(ADK_TARGET_LIB_UCLIBC),y) -TARGETS+=uClibc -LIBC:=uClibc +TARGETS+=uclibc +LIBC:=uclibc endif ifeq ($(ADK_TARGET_LIB_MUSL),y) TARGETS+=musl diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index 4d34e3566..87cea2987 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -6,12 +6,24 @@ include Makefile.inc include ../rules.mk include ${TOPDIR}/mk/buildhlp.mk -ifeq ($(ADK_TOOLCHAIN_GCC_SSP),y) +ifeq ($(ADK_TOOLCHAIN_SSP),y) CONFOPTS+= --enable-libssp else CONFOPTS+= --disable-libssp endif +ifeq ($(ADK_TOOLCHAIN_LTO),y) +CONFOPTS+= --enable-lto +else +CONFOPTS+= --disable-lto +endif + +ifeq ($(ADK_TOOLCHAIN_GOLD),y) +CONFOPTS+= --enable-gold +else +CONFOPTS+= --disable-gold +endif + ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y) CONFOPTS+= --with-arch=armv6 endif diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index 611de97bf..eee524ba3 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -202,11 +202,18 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled # remove duplicate tools, convert hardlinks to symlinks set -e; \ cd $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/bin; \ - for app in ar as c++ g++ gcc ld ld.bfd nm objcopy objdump ranlib strip; do \ + for app in ar as c++ g++ gcc ld ld.gold ld.bfd nm objcopy objdump ranlib strip; do \ ln -sf ../../bin/$(GNU_TARGET_NAME)-$${app} $${app}; \ done; (cd $(TOOLCHAIN_DIR)/usr/bin && \ ln -sf $(GNU_TARGET_NAME)-gcc $(GNU_TARGET_NAME)-gcc-${PKG_VERSION}) +ifeq ($(ADK_TOOLCHAIN_USE_GOLD),y) + (cd $(TOOLCHAIN_DIR)/usr/bin && \ + ln -sf $(GNU_TARGET_NAME)-ld.gold $(GNU_TARGET_NAME)-ld) +else + (cd $(TOOLCHAIN_DIR)/usr/bin && \ + ln -sf $(GNU_TARGET_NAME)-ld.bfd $(GNU_TARGET_NAME)-ld) +endif cd $(STAGING_TARGET_DIR)/lib && \ ln -sf libstdc++.so.6.0.18 libstdc++.so && \ ln -sf libstdc++.so.6.0.18 libstdc++.so.6 diff --git a/toolchain/gcc/patches/4.8.2/sparc-miscompile.patch b/toolchain/gcc/patches/4.8.2/miscompile.sparc index 4aef2e605..4aef2e605 100644 --- a/toolchain/gcc/patches/4.8.2/sparc-miscompile.patch +++ b/toolchain/gcc/patches/4.8.2/miscompile.sparc diff --git a/toolchain/uClibc/Makefile b/toolchain/uclibc/Makefile index 94a81391d..94a81391d 100644 --- a/toolchain/uClibc/Makefile +++ b/toolchain/uclibc/Makefile diff --git a/toolchain/uClibc/Makefile.inc b/toolchain/uclibc/Makefile.inc index eff931e2b..eff931e2b 100644 --- a/toolchain/uClibc/Makefile.inc +++ b/toolchain/uclibc/Makefile.inc diff --git a/toolchain/uClibc/patches/uclibc-git-20140313.patch b/toolchain/uclibc/patches/uclibc-git-20140313.patch index 561c08007..561c08007 100644 --- a/toolchain/uClibc/patches/uclibc-git-20140313.patch +++ b/toolchain/uclibc/patches/uclibc-git-20140313.patch diff --git a/toolchain/uClibc/patches/xxx-origin.patch b/toolchain/uclibc/patches/xxx-origin.patch index 42b524017..42b524017 100644 --- a/toolchain/uClibc/patches/xxx-origin.patch +++ b/toolchain/uclibc/patches/xxx-origin.patch diff --git a/toolchain/uClibc/patches/xxx-sparc-wait4.patch b/toolchain/uclibc/patches/xxx-sparc-wait4.patch index e219ed773..e219ed773 100644 --- a/toolchain/uClibc/patches/xxx-sparc-wait4.patch +++ b/toolchain/uclibc/patches/xxx-sparc-wait4.patch |