This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] memcpy-ssse3: enable chk symbols in static builds


On Sun, Feb 6, 2011 at 10:28 AM, Mike Frysinger <vapier@gentoo.org> wrote:
> 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); }

You need to compile it with " -D_FORTIFY_SOURCE=1 -O" to see the
error.

> 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.

I don't think it is correct.  Please try this.

-- 
H.J.
---
2011-02-06  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/multiarch/memcpy-ssse3-back.S (MEMCPY_CHK): Check
	SHARED, USE_AS_MEMMOVE and USE_MULTIARCH.
	* sysdeps/x86_64/multiarch/memcpy-ssse3.S (MEMCPY_CHK): Likewise.

Attachment: libc-memmove_chk-1.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]