patches/glibc/ports-2.10.1/390-cross-compile-nptl.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
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 A little hack for cross-compiling NPTL
     2 
     3 http://sourceware.org/ml/libc-alpha/2005-02/msg00043.html
     4 
     5 diff -durN glibc-2.10.1.orig/nptl/sysdeps/pthread/configure glibc-2.10.1/nptl/sysdeps/pthread/configure
     6 --- glibc-2.10.1.orig/nptl/sysdeps/pthread/configure	2009-05-17 14:19:31.000000000 +0200
     7 +++ glibc-2.10.1/nptl/sysdeps/pthread/configure	2009-11-13 00:50:43.000000000 +0100
     8 @@ -78,6 +78,10 @@
     9  fi
    10  { echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5
    11  echo "${ECHO_T}$libc_cv_forced_unwind" >&6; }
    12 +if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then
    13 +  echo "$as_me:$LINENO: forcing libc_cv_forced_unwind = yes for cross-compile"
    14 +  libc_cv_forced_unwind=yes
    15 +fi
    16  if test $libc_cv_forced_unwind = yes; then
    17    cat >>confdefs.h <<\_ACEOF
    18  #define HAVE_FORCED_UNWIND 1
    19 @@ -141,6 +145,10 @@
    20  { echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5
    21  echo "${ECHO_T}$libc_cv_c_cleanup" >&6; }
    22    CFLAGS="$old_CFLAGS"
    23 +  if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then
    24 +    echo "$as_me:$LINENO: result: forcing libc_cv_c_cleanup = yes for cross-compile"
    25 +    libc_cv_c_cleanup=yes
    26 +  fi
    27    if test $libc_cv_c_cleanup = no; then
    28      { { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5
    29  echo "$as_me: error: the compiler must support C cleanup handling" >&2;}
    30 diff -durN glibc-2.10.1.orig/nptl/sysdeps/pthread/configure.in glibc-2.10.1/nptl/sysdeps/pthread/configure.in
    31 --- glibc-2.10.1.orig/nptl/sysdeps/pthread/configure.in	2003-12-03 07:50:01.000000000 +0100
    32 +++ glibc-2.10.1/nptl/sysdeps/pthread/configure.in	2009-11-13 00:50:43.000000000 +0100
    33 @@ -28,6 +28,9 @@
    34  struct _Unwind_Context *context;
    35  _Unwind_GetCFA (context)],
    36  libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)])
    37 +if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then
    38 +  libc_cv_forced_unwind=yes
    39 +fi
    40  if test $libc_cv_forced_unwind = yes; then
    41    AC_DEFINE(HAVE_FORCED_UNWIND)
    42  dnl Check for C cleanup handling.
    43 @@ -41,6 +44,9 @@
    44    puts ("test")],
    45  libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)])
    46    CFLAGS="$old_CFLAGS"
    47 +  if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then
    48 +    libc_cv_c_cleanup=yes
    49 +  fi
    50    if test $libc_cv_c_cleanup = no; then
    51      AC_MSG_ERROR([the compiler must support C cleanup handling])
    52    fi