patches/gcc/4.2.4/320-libgcc_eh.a.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Aug 31 16:47:42 2011 +0200 (2011-08-31)
changeset 2672 7cfaaf8204e7
permissions -rw-r--r--
cc/gcc: libgcc_eh.a may be required, even from the stage-1 compiler

Building uClibc with libubacktrace requires libgcc_eh.a to be available,
but gcc does not build it unless it is configured to generate shared libs.

However, libgcc_eh.a does not *require* shared libs support, as it is a
static library.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Vampirised from:
     2   http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
     3 
     4 diff -durN gcc-4.2.2.orig/gcc/mklibgcc.in gcc-4.2.2/gcc/mklibgcc.in
     5 --- gcc-4.2.2.orig/gcc/mklibgcc.in	2006-07-04 22:20:01.000000000 +0200
     6 +++ gcc-4.2.2/gcc/mklibgcc.in	2011-08-31 16:24:03.674690016 +0200
     7 @@ -223,8 +223,8 @@
     8    if [ "$LIBUNWIND" ]; then
     9      libunwind_a=$dir/libunwind.a
    10    fi
    11 +  libgcc_eh_a=$dir/libgcc_eh.a
    12    if [ "$SHLIB_LINK" ]; then
    13 -    libgcc_eh_a=$dir/libgcc_eh.a
    14      libgcc_s_so=$dir/libgcc_s${SHLIB_EXT}
    15      if [ "$LIBUNWIND" ]; then
    16        libunwind_so=$dir/libunwind${SHLIB_EXT}
    17 @@ -889,11 +889,11 @@
    18    echo '	chmod 644'  ${ldir}/libgcov.a
    19    echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcov.a
    20  
    21 -  if [ "$SHLIB_LINK" ]; then
    22 -    echo '	$(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/
    23 -    echo '	chmod 644'  ${ldir}/libgcc_eh.a
    24 -    echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
    25 +  echo '	$(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/
    26 +  echo '	chmod 644'  ${ldir}/libgcc_eh.a
    27 +  echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
    28  
    29 +  if [ "$SHLIB_LINK" ]; then
    30      shlib_slibdir_qual=
    31      os_multilib_dir=`$GCC_FOR_TARGET $flags --print-multi-os-directory`
    32      if [ "$os_multilib_dir" != . ]; then