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