patches/gcc/4.3.3/300-libmudflap-susv3-legacy.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Sat Jan 04 01:02:57 2014 +0100 (2014-01-04)
changeset 3271 c65dc9b98841
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@1162
     1
Original patch from: ../4.3.2/300-libmudflap-susv3-legacy.patch
yann@1162
     2
yann@1162
     3
-= BEGIN original header =-
yann@1162
     4
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_305-libmudflap-susv3-legacy.patch
yann@1162
     5
-= END original header =-
yann@1162
     6
yann@1162
     7
diff -durN gcc-4.3.3.orig/libmudflap/mf-hooks2.c gcc-4.3.3/libmudflap/mf-hooks2.c
yann@1162
     8
--- gcc-4.3.3.orig/libmudflap/mf-hooks2.c	2005-09-23 23:58:39.000000000 +0200
yann@1162
     9
+++ gcc-4.3.3/libmudflap/mf-hooks2.c	2009-01-27 22:25:45.000000000 +0100
yann@1162
    10
@@ -427,7 +427,7 @@
yann@1162
    11
 {
yann@1162
    12
   TRACE ("%s\n", __PRETTY_FUNCTION__);
yann@1162
    13
   MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
yann@1162
    14
-  bzero (s, n);
yann@1162
    15
+  memset (s, 0, n);
yann@1162
    16
 }
yann@1162
    17
 
yann@1162
    18
 
yann@1162
    19
@@ -437,7 +437,7 @@
yann@1162
    20
   TRACE ("%s\n", __PRETTY_FUNCTION__);
yann@1162
    21
   MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
yann@1162
    22
   MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
yann@1162
    23
-  bcopy (src, dest, n);
yann@1162
    24
+  memmove (dest, src, n);
yann@1162
    25
 }
yann@1162
    26
 
yann@1162
    27
 
yann@1162
    28
@@ -447,7 +447,7 @@
yann@1162
    29
   TRACE ("%s\n", __PRETTY_FUNCTION__);
yann@1162
    30
   MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
yann@1162
    31
   MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
yann@1162
    32
-  return bcmp (s1, s2, n);
yann@1162
    33
+  return memcmp (s1, s2, n);
yann@1162
    34
 }
yann@1162
    35
 
yann@1162
    36
 
yann@1162
    37
@@ -456,7 +456,7 @@
yann@1162
    38
   size_t n = strlen (s);
yann@1162
    39
   TRACE ("%s\n", __PRETTY_FUNCTION__);
yann@1162
    40
   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
yann@1162
    41
-  return index (s, c);
yann@1162
    42
+  return strchr (s, c);
yann@1162
    43
 }
yann@1162
    44
 
yann@1162
    45
 
yann@1162
    46
@@ -465,7 +465,7 @@
yann@1162
    47
   size_t n = strlen (s);
yann@1162
    48
   TRACE ("%s\n", __PRETTY_FUNCTION__);
yann@1162
    49
   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
yann@1162
    50
-  return rindex (s, c);
yann@1162
    51
+  return strrchr (s, c);
yann@1162
    52
 }
yann@1162
    53
 
yann@1162
    54
 /* XXX:  stpcpy, memccpy */