r4608 - in glibc-package/branches/eglibc-2.13/debian: . patches patches/i386
Author: aurel32
Date: 2011-04-17 20:28:30 +0000 (Sun, 17 Apr 2011)
New Revision: 4608
Added:
glibc-package/branches/eglibc-2.13/debian/patches/i386/submitted-memove-static.diff
Modified:
glibc-package/branches/eglibc-2.13/debian/changelog
glibc-package/branches/eglibc-2.13/debian/patches/series
Log:
* Add patches/i386/submitted-memove-static.diff to fix static linking
with FORTIFY.
Modified: glibc-package/branches/eglibc-2.13/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.13/debian/changelog 2011-04-17 20:08:56 UTC (rev 4607)
+++ glibc-package/branches/eglibc-2.13/debian/changelog 2011-04-17 20:28:30 UTC (rev 4608)
@@ -149,6 +149,8 @@
implementation of strncmp().
* Add patches/alpha/submitted-sysconf-cache.diff to fix sysconf()
LEVEL*CACHE* entries. Closes: #620203.
+ * Add patches/i386/submitted-memove-static.diff to fix static linking
+ with FORTIFY.
[ Samuel Thibault ]
* Add patches/any/cvs-glro_dl_debug_mask.diff to fix build without
Added: glibc-package/branches/eglibc-2.13/debian/patches/i386/submitted-memove-static.diff
===================================================================
--- glibc-package/branches/eglibc-2.13/debian/patches/i386/submitted-memove-static.diff (rev 0)
+++ glibc-package/branches/eglibc-2.13/debian/patches/i386/submitted-memove-static.diff 2011-04-17 20:28:30 UTC (rev 4608)
@@ -0,0 +1,92 @@
+Building static apps on i686/x86_64 systems which use memmove such as:
+ #include <string.h>
+ char buf[8192];
+ main(int argc, char **argv) { memmove(buf, buf + argc, argc % 4); }
+
+Result in linking errors along the lines of:
+ .../libc.a(memmove_chk.o): In function `__memmove_chk':
+ (.text+0x1b4): undefined reference to `__memmove_chk_ssse3_back'
+ .../libc.a(memmove_chk.o): In function `__memmove_chk':
+ (.text+0x1b9): undefined reference to `__memmove_chk_ssse3'
+ collect2: ld returned 1 exit status
+
+This is due to the new ssse3 funcs only enabling their chk symbols when
+being compiled into shared code.
+
+URL: https://bugs.gentoo.org/353816
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+2011-02-06 Mike Frysinger <vapier@gentoo.org>
+
+ * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Only protect
+ MEMCPY_CHK with USE_AS_BCOPY ifdef check.
+ * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise.
+ * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise.
+ * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Likewise.
+---
+v2
+ - also update i686 symbols
+ - drop shared/libc ifdefs since the surrounding code already handles it
+
+ sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S | 2 +-
+ sysdeps/i386/i686/multiarch/memcpy-ssse3.S | 2 +-
+ sysdeps/x86_64/multiarch/memcpy-ssse3-back.S | 2 +-
+ sysdeps/x86_64/multiarch/memcpy-ssse3.S | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S b/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S
+index 48a109c..8e81183 100644
+--- a/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S
++++ b/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S
+@@ -110,7 +110,7 @@ __i686.get_pc_thunk.bx:
+ #endif
+
+ .section .text.ssse3,"ax",@progbits
+-#if defined SHARED && !defined NOT_IN_libc && !defined USE_AS_BCOPY
++#if !defined USE_AS_BCOPY
+ ENTRY (MEMCPY_CHK)
+ movl 12(%esp), %eax
+ cmpl %eax, 16(%esp)
+diff --git a/sysdeps/i386/i686/multiarch/memcpy-ssse3.S b/sysdeps/i386/i686/multiarch/memcpy-ssse3.S
+index ec9eeb9..f64f8d2 100644
+--- a/sysdeps/i386/i686/multiarch/memcpy-ssse3.S
++++ b/sysdeps/i386/i686/multiarch/memcpy-ssse3.S
+@@ -110,7 +110,7 @@ __i686.get_pc_thunk.bx:
+ #endif
+
+ .section .text.ssse3,"ax",@progbits
+-#if defined SHARED && !defined NOT_IN_libc && !defined USE_AS_BCOPY
++#if !defined USE_AS_BCOPY
+ ENTRY (MEMCPY_CHK)
+ movl 12(%esp), %eax
+ cmpl %eax, 16(%esp)
+diff --git a/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S b/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S
+index 48c974e..bdd114a 100644
+--- a/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S
++++ b/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S
+@@ -49,7 +49,7 @@
+ ud2
+
+ .section .text.ssse3,"ax",@progbits
+-#if defined SHARED && !defined NOT_IN_libc
++#if !defined USE_AS_BCOPY
+ ENTRY (MEMCPY_CHK)
+ cmpq %rdx, %rcx
+ jb HIDDEN_JUMPTARGET (__chk_fail)
+diff --git a/sysdeps/x86_64/multiarch/memcpy-ssse3.S b/sysdeps/x86_64/multiarch/memcpy-ssse3.S
+index 9a878d3..cd7e45f 100644
+--- a/sysdeps/x86_64/multiarch/memcpy-ssse3.S
++++ b/sysdeps/x86_64/multiarch/memcpy-ssse3.S
+@@ -49,7 +49,7 @@
+ ud2
+
+ .section .text.ssse3,"ax",@progbits
+-#if defined SHARED && !defined NOT_IN_libc
++#if !defined USE_AS_BCOPY
+ ENTRY (MEMCPY_CHK)
+ cmpq %rdx, %rcx
+ jb HIDDEN_JUMPTARGET (__chk_fail)
+--
+1.7.4.rc2
+
+
Modified: glibc-package/branches/eglibc-2.13/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.13/debian/patches/series 2011-04-17 20:08:56 UTC (rev 4607)
+++ glibc-package/branches/eglibc-2.13/debian/patches/series 2011-04-17 20:28:30 UTC (rev 4608)
@@ -143,6 +143,7 @@
i386/local-pthread_cond_wait.diff
i386/submitted-i686-timing.diff
i386/cvs-cacheinfo.diff
+i386/submitted-memove-static.diff
m68k/local-compat.diff
m68k/local-dwarf2-buildfix.diff
Reply to: