summaryrefslogtreecommitdiff
path: root/toolchain/glibc
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/glibc')
-rw-r--r--toolchain/glibc/Makefile1
-rw-r--r--toolchain/glibc/Makefile.inc7
-rw-r--r--toolchain/glibc/patches/longjmp_chk.patch56
3 files changed, 5 insertions, 59 deletions
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index f52d527db..4b0573078 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -12,6 +12,7 @@ endif
# ssp partially supported
TARGET_CFLAGS:= $(filter-out -fstack-protector,$(TARGET_CFLAGS))
+#TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
include Makefile.inc
include ${TOPDIR}/mk/buildhlp.mk
diff --git a/toolchain/glibc/Makefile.inc b/toolchain/glibc/Makefile.inc
index c332ddb89..636fbe142 100644
--- a/toolchain/glibc/Makefile.inc
+++ b/toolchain/glibc/Makefile.inc
@@ -2,9 +2,9 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= glibc
-PKG_VERSION:= 2.13
-PKG_RELEASE:= 2
-PKG_MD5SUM:= fafabe01cb9748acb0a11a6879ebaa7e
+PKG_VERSION:= 2.14.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= f3841fd7812db4713115ff4447b29207
PKG_SITES:= ${MASTER_SITE_GNU:=glibc/}
GLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \
--host=$(REAL_GNU_TARGET_NAME) \
@@ -31,3 +31,4 @@ GLIBC_ENV:= PATH='${TARGET_PATH}' \
libc_cv_gnu99_inline=yes \
libc_cv_sparc64_tls=yes \
libc_cv_slibdir="/lib" \
+ libc_cv_initfini_array=yes \
diff --git a/toolchain/glibc/patches/longjmp_chk.patch b/toolchain/glibc/patches/longjmp_chk.patch
deleted file mode 100644
index b2590460c..000000000
--- a/toolchain/glibc/patches/longjmp_chk.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-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) \