patches/glibc/linuxthreads-2.3.6/110-alpha-cfi.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Sat Jan 04 01:02:57 2014 +0100 (2014-01-04)
changeset 3271 c65dc9b98841
parent 744 4bf8448536d5
permissions -rw-r--r--
cc/gcc: diable libsanitizer without NPTL

gcc-4.8 comes with a new library to sanitise memory access:
- heap-, stack-, and global-buffer overflow, use-after-free
- data-races between threads

This library requires some _np parts of the API, which are not
implemented in the (old) LinuxThreads, which is still available
in uClibc.

Since NPTL requires a i486 or above, i386 are stuck with using LT,
which precludes building the libsanitizer.

Disable libsanitizer, a bit like libatomic is.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Niels Penneman <niels@penneman.org>
yann@611
     1
--- glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h.orig	2008-06-19 15:31:45.000000000 +0300
yann@611
     2
+++ glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h	2008-06-19 15:36:10.000000000 +0300
yann@611
     3
@@ -54,6 +54,7 @@
yann@611
     4
 	bne	a3, SYSCALL_ERROR_LABEL;			\
yann@611
     5
 __LABEL($pseudo_ret)						\
yann@611
     6
 	.subsection 2;						\
yann@611
     7
+	cfi_startproc;						\
yann@611
     8
 __LABEL($pseudo_cancel)						\
yann@611
     9
 	subq	sp, 64, sp;					\
yann@611
    10
 	cfi_def_cfa_offset(64);					\
yann@611
    11
@@ -84,12 +85,13 @@
yann@611
    12
 	cfi_def_cfa_offset(0);					\
yann@611
    13
 __LABEL($syscall_error)						\
yann@611
    14
 	SYSCALL_ERROR_HANDLER;					\
yann@611
    15
+	cfi_endproc;						\
yann@611
    16
 	.previous
yann@611
    17
 
yann@611
    18
 # undef PSEUDO_END
yann@611
    19
 # define PSEUDO_END(sym)					\
yann@611
    20
-	.subsection 2;						\
yann@611
    21
 	cfi_endproc;						\
yann@611
    22
+	.subsection 2;						\
yann@611
    23
 	.size sym, .-sym
yann@611
    24
 
yann@611
    25
 # define SAVE_ARGS_0	/* Nothing.  */