diff options
author | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2012-10-05 14:49:13 +0200 |
---|---|---|
committer | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2012-10-05 14:49:13 +0200 |
commit | f3db9f0c592ad982d6702ce8314888d97e2de68b (patch) | |
tree | 221a3d6adf72e19928c916ece41040ca46d95441 /toolchain | |
parent | 6c6f588279720346ef20948130884437b0cd9e6d (diff) |
make libgcc static for busybox, make librt separate package, remove dependency to libtirpc, disable inetd, add preliminary multilib support (not working right now),enable 32/64 bit kernel support for x86_64
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/binutils/Makefile | 2 | ||||
-rw-r--r-- | toolchain/gcc/Makefile | 9 | ||||
-rw-r--r-- | toolchain/gcc/patches/4.7.2/no-lib64.patch | 92 | ||||
-rw-r--r-- | toolchain/uClibc/Makefile | 28 |
4 files changed, 34 insertions, 97 deletions
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index 36e5b51d6..056aff065 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -12,7 +12,7 @@ else CONFOPTS+= --disable-libssp endif -ifneq ($(strip $(ADK_LINUX_64)$(ADK_64BIT_KERNEL)),) +ifneq ($(strip $(ADK_LINUX_64)$(ADK_TARGET_KERNEL64)),) CONFOPTS+= --enable-64-bit-bfd endif diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index a9f361ffe..a61d5eaa7 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -17,7 +17,6 @@ GCC_CONFOPTS= --prefix=$(STAGING_HOST_DIR) \ --with-libelf=$(STAGING_HOST_DIR) \ --disable-__cxa_atexit \ --with-gnu-ld \ - --disable-multilib \ --disable-libmudflap \ --disable-libgomp \ --disable-decimal-float \ @@ -34,10 +33,12 @@ else GCC_CONFOPTS+= --disable-sjlj-exceptions endif -ifeq ($(ADK_64BIT_KERNEL),y) -GCC_CONFOPTS+= --enable-targets=all +ifeq ($(ADK_TARGET_WITH_MULTILIB),y) +GCC_CONFOPTS+= --with-multilib-list=$(ADK_MULTILIB_TARGET) \ + --enable-multilib else -GCC_CONFOPTS+= --disable-biarch +GCC_CONFOPTS+= --disable-biarch \ + --disable-multilib endif ifeq ($(ADK_TOOLCHAIN_GCC_SSP),y) diff --git a/toolchain/gcc/patches/4.7.2/no-lib64.patch b/toolchain/gcc/patches/4.7.2/no-lib64.patch deleted file mode 100644 index c567a4bec..000000000 --- a/toolchain/gcc/patches/4.7.2/no-lib64.patch +++ /dev/null @@ -1,92 +0,0 @@ -diff -Nur gcc-4.7.2.orig/gcc/config/i386/linux64.h gcc-4.7.2/gcc/config/i386/linux64.h ---- gcc-4.7.2.orig/gcc/config/i386/linux64.h 2011-07-07 17:38:34.000000000 +0200 -+++ gcc-4.7.2/gcc/config/i386/linux64.h 2012-09-22 12:48:17.000000000 +0200 -@@ -29,5 +29,5 @@ - #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" - - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" --#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" -+#define GLIBC_DYNAMIC_LINKERX32 "/lib/ld-linux-so.2" -diff -Nur gcc-4.7.2.orig/gcc/config/i386/t-linux64 gcc-4.7.2/gcc/config/i386/t-linux64 ---- gcc-4.7.2.orig/gcc/config/i386/t-linux64 2011-11-02 16:23:48.000000000 +0100 -+++ gcc-4.7.2/gcc/config/i386/t-linux64 2012-09-22 12:46:07.000000000 +0200 -@@ -34,6 +34,6 @@ - comma=, - MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) - MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) --MULTILIB_OSDIRNAMES = m64=../lib64 --MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) --MULTILIB_OSDIRNAMES+= mx32=../libx32 -+MULTILIB_OSDIRNAMES = m64=../lib -+MULTILIB_OSDIRNAMES+= m32=../lib -+MULTILIB_OSDIRNAMES+= mx32=../lib -diff -Nur gcc-4.7.2.orig/gcc/config/mips/linux64.h gcc-4.7.2/gcc/config/mips/linux64.h ---- gcc-4.7.2.orig/gcc/config/mips/linux64.h 2011-07-19 20:00:27.000000000 +0200 -+++ gcc-4.7.2/gcc/config/mips/linux64.h 2012-09-22 12:44:16.000000000 +0200 -@@ -24,9 +24,9 @@ - #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32" - - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1" --#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1" --#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0" -+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1" -+#define GLIBC_DYNAMIC_LINKERN32 "/lib/ld.so.1" -+#define UCLIBC_DYNAMIC_LINKERN32 "/lib/ld-uClibc.so.0" - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ -diff -Nur gcc-4.7.2.orig/gcc/config/mips/t-linux64 gcc-4.7.2/gcc/config/mips/t-linux64 ---- gcc-4.7.2.orig/gcc/config/mips/t-linux64 2011-11-02 15:33:56.000000000 +0100 -+++ gcc-4.7.2/gcc/config/mips/t-linux64 2012-09-22 12:48:39.000000000 +0200 -@@ -18,4 +18,4 @@ - - MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 - MULTILIB_DIRNAMES = n32 32 64 --MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64 -+MULTILIB_OSDIRNAMES = ../lib ../lib ../lib -diff -Nur gcc-4.7.2.orig/gcc/config/rs6000/linux64.h gcc-4.7.2/gcc/config/rs6000/linux64.h ---- gcc-4.7.2.orig/gcc/config/rs6000/linux64.h 2012-03-12 17:16:51.000000000 +0100 -+++ gcc-4.7.2/gcc/config/rs6000/linux64.h 2012-09-22 12:44:16.000000000 +0200 -@@ -359,7 +359,7 @@ - #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" - - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1" -+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1" - #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" - #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" - #if DEFAULT_LIBC == LIBC_UCLIBC -diff -Nur gcc-4.7.2.orig/gcc/config/rs6000/t-linux64 gcc-4.7.2/gcc/config/rs6000/t-linux64 ---- gcc-4.7.2.orig/gcc/config/rs6000/t-linux64 2011-11-02 16:23:48.000000000 +0100 -+++ gcc-4.7.2/gcc/config/rs6000/t-linux64 2012-09-22 12:44:16.000000000 +0200 -@@ -31,5 +31,5 @@ - MULTILIB_EXTRA_OPTS = fPIC mstrict-align - MULTILIB_EXCEPTIONS = m64/msoft-float - MULTILIB_EXCLUSIONS = m64/!m32/msoft-float --MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof -+MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof - MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT) -diff -Nur gcc-4.7.2.orig/gcc/config/sparc/linux64.h gcc-4.7.2/gcc/config/sparc/linux64.h ---- gcc-4.7.2.orig/gcc/config/sparc/linux64.h 2011-11-12 02:05:07.000000000 +0100 -+++ gcc-4.7.2/gcc/config/sparc/linux64.h 2012-09-22 12:44:16.000000000 +0200 -@@ -94,7 +94,7 @@ - done. */ - - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2" - - #ifdef SPARC_BI_ARCH - -diff -Nur gcc-4.7.2.orig/gcc/config/sparc/t-linux64 gcc-4.7.2/gcc/config/sparc/t-linux64 ---- gcc-4.7.2.orig/gcc/config/sparc/t-linux64 2011-11-02 16:23:48.000000000 +0100 -+++ gcc-4.7.2/gcc/config/sparc/t-linux64 2012-09-22 12:49:43.000000000 +0200 -@@ -26,4 +26,4 @@ - - MULTILIB_OPTIONS = m64/m32 - MULTILIB_DIRNAMES = 64 32 --MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) -+MULTILIB_OSDIRNAMES = ../lib ../lib diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile index a59805454..48279469e 100644 --- a/toolchain/uClibc/Makefile +++ b/toolchain/uClibc/Makefile @@ -83,6 +83,33 @@ endif touch $(WRKBUILD)/.configured touch $@ +ifeq ($(ADK_TARGET_WITH_MULTILIB),y) +$(WRKBUILD)/.compiled: + $(MAKE) ${UCLIBC_MAKEOPTS} -C $(WRKBUILD) \ + PREFIX= \ + DEVEL_PREFIX=/ \ + RUNTIME_PREFIX=/ \ + HOSTCC="$(CC_FOR_BUILD)" \ + CPU_CFLAGS="$(TARGET_CFLAGS)" \ + MULTILIB_DIR=/$(ADK_TARGET_LIBC_PATH) \ + all + touch $@ + +$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled + $(MAKE) -C $(WRKBUILD) \ + PREFIX=$(STAGING_TARGET_DIR) \ + DEVEL_PREFIX=/usr/ \ + DEVEL_PREFIX_LIB=/ \ + RUNTIME_PREFIX=/ \ + CPU_CFLAGS="$(TARGET_CFLAGS)" \ + MULTILIB_DIR=/$(ADK_TARGET_LIBC_PATH) \ + install_dev install_runtime + rm -rf $(STAGING_TARGET_DIR)/$(ADK_TARGET_LIBC_PATH)/libc.so + ln -s libc.so.0 $(STAGING_TARGET_DIR)/$(ADK_TARGET_LIBC_PATH)/libc.so + touch $@ + +else + $(WRKBUILD)/.compiled: $(MAKE) ${UCLIBC_MAKEOPTS} -C $(WRKBUILD) \ PREFIX= \ @@ -114,5 +141,6 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.install_headers rm -rf $(STAGING_TARGET_DIR)/lib/libc.so ln -s libc.so.0 $(STAGING_TARGET_DIR)/lib/libc.so touch $@ +endif include ${TOPDIR}/mk/toolchain.mk |