patches/gcc/4.2.3/320-libgcc_eh.a.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:43:07 2011 +0200 (2011-07-17)
changeset 2893 a8a65758664f
permissions -rw-r--r--
cc/gcc: do not use the core pass-2 to build the baremetal compiler

In case we build a baremetal compiler, use the standard passes:
- core_cc is used to build the C library;
- as such, it is meant to run on build, not host;
- the final compiler is meant to run on host;

As the current final compiler step can not build a baremetal compiler,
call the core backend from the final step.

NB: Currently, newlib is built during the start_files pass, so we have
to have a core compiler by then... Once we can build the baremetal
compiler from the final cc step, then we can move the newlib build to
the proper step, and then get rid of the core pass-1 static compiler...

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