patches/gcc/4.3.2/270-missing-execinfo_h.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jun 13 23:45:29 2010 +0200 (2010-06-13)
changeset 1982 63cee3d5ab85
parent 757 90e887b06da3
permissions -rw-r--r--
libc/newlib: build in the 'start files' pass

A few facts:
- building the C library requires a proper core compiler
- core compiler is issued from one of the core passes
- the C library is required to build libstdc++
- newlib is only built for baremetal
- in bare metal, the final compiler is issued from one of the core passes

So we need to build the C library between core pass 1 and core pass 2.
The only place is eithe libc_headers() or libc_start_files(). The most
pertinent seems to be libc_start_files().

So we build newlib from libc_start_files(), and leave libc() empty.
yann@757
     1
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_301-missing-execinfo_h.patch
yann@757
     2
diff -durN gcc-4.3.1.orig/boehm-gc/include/gc.h gcc-4.3.1/boehm-gc/include/gc.h
yann@757
     3
--- gcc-4.3.1.orig/boehm-gc/include/gc.h	2007-04-23 23:10:09.000000000 +0200
yann@757
     4
+++ gcc-4.3.1/boehm-gc/include/gc.h	2008-06-10 14:58:54.000000000 +0200
yann@757
     5
@@ -503,7 +503,7 @@
yann@757
     6
 #if defined(__linux__) || defined(__GLIBC__)
yann@757
     7
 # include <features.h>
yann@757
     8
 # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
yann@757
     9
-     && !defined(__ia64__)
yann@757
    10
+     && !defined(__ia64__) && !defined(__UCLIBC__)
yann@757
    11
 #   ifndef GC_HAVE_BUILTIN_BACKTRACE
yann@757
    12
 #     define GC_HAVE_BUILTIN_BACKTRACE
yann@757
    13
 #   endif