]> git.pld-linux.org Git - packages/glibc.git/commitdiff
- rel 2; fix memmove-ssse3 static linking (from gentoo) auto/th/glibc-2_13-2
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Fri, 11 Feb 2011 08:15:45 +0000 (08:15 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    glibc-2.13-static-memmove-ssse3.patch -> 1.1
    glibc.spec -> 1.892

glibc-2.13-static-memmove-ssse3.patch [new file with mode: 0644]
glibc.spec

diff --git a/glibc-2.13-static-memmove-ssse3.patch b/glibc-2.13-static-memmove-ssse3.patch
new file mode 100644 (file)
index 0000000..63a0f23
--- /dev/null
@@ -0,0 +1,62 @@
+From 5d480f5343de00e54b8602c6787640f9831f46b7 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 6 Feb 2011 12:39:08 -0500
+Subject: [PATCH] memcpy-ssse3: enable chk symbols in static builds
+
+Building static apps on 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/x86_64/multiarch/memcpy-ssse3.S: Delete SHARED ifdef check
+       around MEMCPY_CHK symbol.
+       * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Likewise.
+---
+ sysdeps/x86_64/multiarch/memcpy-ssse3-back.S |    2 +-
+ sysdeps/x86_64/multiarch/memcpy-ssse3.S      |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S b/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S
+index 48c974e..a6a01a8 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 NOT_IN_libc
+ 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..ce84e3f 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 NOT_IN_libc
+ ENTRY (MEMCPY_CHK)
+       cmpq    %rdx, %rcx
+       jb      HIDDEN_JUMPTARGET (__chk_fail)
+-- 
+1.7.4.rc2
+
index 4528144efab05721ee364380c51cd35c1cd59327..120b8cae97d43dd3a080749e1bda0b31e2d6981c 100644 (file)
@@ -34,7 +34,7 @@ Summary(tr.UTF-8):    GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
 Version:       2.13
-Release:       1
+Release:       2
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
@@ -78,6 +78,7 @@ Patch29:      %{name}-arm-alignment-fix.patch
 Patch30:       %{name}-static-glro-init.patch
 Patch31:       %{name}-origin.patch
 Patch32:       %{name}-Os-fail-workaround.patch
+Patch33:       %{name}-2.13-static-memmove-ssse3.patch
 URL:           http://www.gnu.org/software/libc/
 %{?with_selinux:BuildRequires: audit-libs-devel}
 BuildRequires: autoconf
@@ -926,6 +927,7 @@ mv %{name}-ports-%{ports_version} ports
 %patch30 -p1
 %patch31 -p1
 %patch32 -p1
+%patch33 -p1
 
 # cleanup backups after patching
 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
This page took 0.186923 seconds and 4 git commands to generate.