diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2010-02-21 18:51:50 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2010-02-21 18:51:50 +0100 |
commit | 18430215845a1ba4adab10062d33204fd26bd8fb (patch) | |
tree | 33aa3ec2a66f0c7a170837135a74059359b42a4e /toolchain | |
parent | f799b95adfe39ddee1324e2901a823ecdf2fe44d (diff) | |
parent | 08c3724108f33060956438bff670ee1135f473b1 (diff) |
Merge branch 'master' of git+ssh://wbx@openadk.org/git/openadk
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/eglibc/Makefile | 11 | ||||
-rw-r--r-- | toolchain/gcc/Makefile | 9 | ||||
-rw-r--r-- | toolchain/glibc/Makefile | 4 | ||||
-rw-r--r-- | toolchain/glibc/Makefile.inc | 2 | ||||
-rw-r--r-- | toolchain/glibc/patches/longjmp_chk.patch | 56 |
5 files changed, 66 insertions, 16 deletions
diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile index d6cf99e27..1605113c6 100644 --- a/toolchain/eglibc/Makefile +++ b/toolchain/eglibc/Makefile @@ -44,7 +44,6 @@ $(WRKBUILD)/.headers_configure: mkdir -p $(EGLIBC_BUILD_DIR_INITIAL) (cd ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION); \ ln -sf ../ports ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)/libc); - #(cd ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)/libc; autoconf --force); $(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \ $(EGLIBC_BUILD_DIR_INITIAL) (cd $(EGLIBC_BUILD_DIR_INITIAL); \ @@ -61,16 +60,6 @@ $(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure PATH='${TARGET_PATH}' \ $(MAKE) -C $(EGLIBC_BUILD_DIR_INITIAL) \ install-headers install-bootstrap-headers=yes - PATH='${TARGET_PATH}' \ - $(MAKE) -C $(EGLIBC_BUILD_DIR_INITIAL) \ - csu/subdir_lib - ( cd $(EGLIBC_BUILD_DIR_INITIAL); \ - $(CP) csu/crt1.o csu/crti.o csu/crtn.o \ - $(TOOLCHAIN_SYSROOT)/usr/lib \ - ); - PATH='${TARGET_PATH}' \ - $(TARGET_CC) -nostdlib -nostartfiles -shared -x c /dev/null \ - -o $(TOOLCHAIN_SYSROOT)/usr/lib/libc.so touch $@ $(WRKBUILD)/.configured: diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index 619ddf47c..0fc5edc1d 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -17,6 +17,7 @@ GCC_CONFOPTS= --prefix=$(STAGING_TOOLS) \ --disable-libmudflap \ --disable-libgomp \ --disable-biarch \ + --disable-decimal-float \ --disable-multilib \ --disable-sjlj-exceptions \ --disable-libssp \ @@ -56,7 +57,7 @@ $(GCC_BUILD_DIR_MINIMAL)/.configured: $(GCC_BUILD_DIR_MINIMAL)/.compiled: $(GCC_BUILD_DIR_MINIMAL)/.configured PATH=$(TARGET_PATH) \ - $(MAKE) -C $(GCC_BUILD_DIR_MINIMAL) all-gcc + $(MAKE) -C $(GCC_BUILD_DIR_MINIMAL) all-gcc touch $@ $(WRKBUILD)/.headers: $(GCC_BUILD_DIR_MINIMAL)/.compiled @@ -76,6 +77,8 @@ $(GCC_BUILD_DIR_INITIAL)/.configured: ${GCC_CONFOPTS} \ --enable-languages=c \ --disable-shared \ + --disable-threads \ + --with-newlib \ --with-sysroot=$(TOOLCHAIN_SYSROOT) \ ); touch $@ @@ -83,12 +86,12 @@ $(GCC_BUILD_DIR_INITIAL)/.configured: $(GCC_BUILD_DIR_INITIAL)/.compiled: $(GCC_BUILD_DIR_INITIAL)/.configured PATH=$(TARGET_PATH) \ - $(MAKE) -C $(GCC_BUILD_DIR_INITIAL) all + $(MAKE) -C $(GCC_BUILD_DIR_INITIAL) all-gcc all-target-libgcc touch $@ $(WRKBUILD)/.configured: $(GCC_BUILD_DIR_INITIAL)/.compiled PATH=$(TARGET_PATH) \ - $(MAKE) -C $(GCC_BUILD_DIR_INITIAL) install + $(MAKE) -C $(GCC_BUILD_DIR_INITIAL) install-gcc install-target-libgcc touch $@ $(GCC_BUILD_DIR_FINAL)/.configured: diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile index 2b3fc252f..2058c41d4 100644 --- a/toolchain/glibc/Makefile +++ b/toolchain/glibc/Makefile @@ -57,6 +57,7 @@ $(WRKBUILD)/.headers_configure: touch $@ $(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure + mkdir -p $(TOOLCHAIN_SYSROOT)/usr/lib $(MAKE) -C $(GLIBC_BUILD_DIR_INITIAL) \ cross-compiling=yes \ install_root=$(TOOLCHAIN_SYSROOT) \ @@ -81,7 +82,8 @@ $(WRKBUILD)/.compiled: touch $@ $(WRKBUILD)/.installed: - ${GLIBC_ENV} $(MAKE) -C $(GLIBC_BUILD_DIR_FINAL) install_root=$(STAGING_DIR) install + ${GLIBC_ENV} $(MAKE) -C $(GLIBC_BUILD_DIR_FINAL) \ + install_root=$(STAGING_DIR) install touch $(STAGING_DIR)/usr/include/gnu/stubs.h touch $@ diff --git a/toolchain/glibc/Makefile.inc b/toolchain/glibc/Makefile.inc index 596c71955..23659af5d 100644 --- a/toolchain/glibc/Makefile.inc +++ b/toolchain/glibc/Makefile.inc @@ -2,7 +2,7 @@ # material, please see the LICENCE file in the top-level directory. PKG_NAME:= glibc -PKG_VERSION:= 2.11 +PKG_VERSION:= 2.11.1 PKG_RELEASE:= 1 PKG_MD5SUM:= 55d50abb2d7c366bde6fb5e35e681f9b PKG_SITES:= ${MASTER_SITE_GNU:=glibc/} diff --git a/toolchain/glibc/patches/longjmp_chk.patch b/toolchain/glibc/patches/longjmp_chk.patch new file mode 100644 index 000000000..b2590460c --- /dev/null +++ b/toolchain/glibc/patches/longjmp_chk.patch @@ -0,0 +1,56 @@ +diff -Nur glibc-2.11.orig/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S glibc-2.11/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S +--- glibc-2.11.orig/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S 2009-10-30 18:17:08.000000000 +0100 ++++ glibc-2.11/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S 2010-02-19 08:06:22.000000000 +0100 +@@ -33,10 +33,10 @@ + cfi_register(%ebx,%ecx); \ + LOAD_PIC_REG (bx); \ + leal longjmp_msg@GOTOFF(%ebx), %eax; \ +- call __GI___fortify_fail@PLT ++ call HIDDEN_JUMPTARGET(__fortify_fail) + #else + # define CALL_FAIL movl $longjmp_msg, %eax; \ +- call __fortify_fail ++ call HIDDEN_JUMPTARGET(__fortify_fail) + #endif + + +diff -Nur glibc-2.11.orig/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S glibc-2.11/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S +--- glibc-2.11.orig/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S 2009-10-30 18:17:08.000000000 +0100 ++++ glibc-2.11/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S 2010-02-19 08:06:22.000000000 +0100 +@@ -30,19 +30,13 @@ + + #define __longjmp ____longjmp_chk + +-#ifdef PIC +-# define CALL_FAIL __GI___fortify_fail +-#else +-# define CALL_FAIL __fortify_fail +-#endif +- + #define CHECK_RSP(reg) \ + cmp.ltu p0, p8 = reg, r12; \ + (p8) br.cond.dpnt .Lok;; \ + addl r28 = @ltoffx(longjmp_msg#), r1;; \ + ld8.mov r28 = [r28], longjmp_msg#;; \ + ld8 out0 = [r28]; \ +- br.call.sptk.many b0 = CALL_FAIL#;; \ ++ br.call.sptk.many b0 = HIDDEN_JUMPTARGET(__fortify_fail)#;; \ + .Lok: + + #include "__longjmp.S" +diff -Nur glibc-2.11.orig/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S glibc-2.11/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S +--- glibc-2.11.orig/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S 2009-10-30 18:17:08.000000000 +0100 ++++ glibc-2.11/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S 2010-02-19 08:06:22.000000000 +0100 +@@ -31,10 +31,10 @@ + + #ifdef PIC + # define CALL_FAIL leaq longjmp_msg(%rip), %rdi; \ +- call __GI___fortify_fail ++ call HIDDEN_JUMPTARGET(__fortify_fail) + #else + # define CALL_FAIL movq $longjmp_msg, %rdi; \ +- call __fortify_fail ++ call HIDDEN_JUMPTARGET(__fortify_fail) + #endif + + #define CHECK_RSP(reg) \ |