patches/gcc/4.3.2/300-libmudflap-susv3-legacy.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Nov 04 19:22:29 2011 +0100 (2011-11-04)
changeset 2735 f09ed6dd71a3
parent 757 90e887b06da3
permissions -rw-r--r--
kernel/linux: fix packed attribute in exported headers

UBI headers (and maybe others as well) are broken because the 'packed'
attribute is not sanitised when the headers are exported to userspace.

Apply the fix from upstream:
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f210735fe2f17a6225432ee3d1239bcf23a8659c

(Also, buildroot does the same, BTW)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_305-libmudflap-susv3-legacy.patch
     2 diff -durN gcc-4.3.1.orig/libmudflap/mf-hooks2.c gcc-4.3.1/libmudflap/mf-hooks2.c
     3 --- gcc-4.3.1.orig/libmudflap/mf-hooks2.c	2005-09-23 23:58:39.000000000 +0200
     4 +++ gcc-4.3.1/libmudflap/mf-hooks2.c	2008-06-10 14:59:05.000000000 +0200
     5 @@ -427,7 +427,7 @@
     6  {
     7    TRACE ("%s\n", __PRETTY_FUNCTION__);
     8    MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
     9 -  bzero (s, n);
    10 +  memset (s, 0, n);
    11  }
    12  
    13  
    14 @@ -437,7 +437,7 @@
    15    TRACE ("%s\n", __PRETTY_FUNCTION__);
    16    MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
    17    MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
    18 -  bcopy (src, dest, n);
    19 +  memmove (dest, src, n);
    20  }
    21  
    22  
    23 @@ -447,7 +447,7 @@
    24    TRACE ("%s\n", __PRETTY_FUNCTION__);
    25    MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
    26    MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
    27 -  return bcmp (s1, s2, n);
    28 +  return memcmp (s1, s2, n);
    29  }
    30  
    31  
    32 @@ -456,7 +456,7 @@
    33    size_t n = strlen (s);
    34    TRACE ("%s\n", __PRETTY_FUNCTION__);
    35    MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
    36 -  return index (s, c);
    37 +  return strchr (s, c);
    38  }
    39  
    40  
    41 @@ -465,7 +465,7 @@
    42    size_t n = strlen (s);
    43    TRACE ("%s\n", __PRETTY_FUNCTION__);
    44    MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
    45 -  return rindex (s, c);
    46 +  return strrchr (s, c);
    47  }
    48  
    49  /* XXX:  stpcpy, memccpy */