| diff -ruN gcc-4.2.2/configure gcc-4.2.2.patched/configure |
| --- gcc-4.2.2/configure 2007-09-14 17:42:24.000000000 -0700 |
| +++ gcc-4.2.2.patched/configure 2007-11-25 13:56:07.000000000 -0800 |
| @@ -1295,6 +1295,10 @@ |
| sh-*-linux*) |
| noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" |
| ;; |
| + sh-*-elf) |
| + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" |
| + noconfigdirs="$noconfigdirs target-libstdc++-v3" |
| + ;; |
| sh*-*-pe|mips*-*-pe|*arm-wince-pe) |
| noconfigdirs="$noconfigdirs ${libgcj}" |
| noconfigdirs="$noconfigdirs target-examples" |
| @@ -1320,6 +1324,7 @@ |
| ;; |
| arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) |
| noconfigdirs="$noconfigdirs target-libffi target-qthreads" |
| + noconfigdirs="$noconfigdirs target-libstdc++-v3" |
| ;; |
| arm*-*-linux-gnueabi) |
| noconfigdirs="$noconfigdirs target-libffi target-qthreads" |
| @@ -1494,6 +1499,10 @@ |
| i[3456789]86-*-rdos*) |
| noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" |
| ;; |
| + x86_64-*-elf) |
| + noconfigdirs="$noconfigdirs ${libgcj}" |
| + noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3" |
| + ;; |
| m32r-*-*) |
| noconfigdirs="$noconfigdirs ${libgcj}" |
| ;; |
| @@ -1544,6 +1553,10 @@ |
| powerpc-*-eabi) |
| noconfigdirs="$noconfigdirs ${libgcj}" |
| ;; |
| + powerpc-*-elf) |
| + noconfigdirs="$noconfigdirs ${libgcj}" |
| + noconfigdirs="$noconfigdirs target-libstdc++-v3" |
| + ;; |
| powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* ) |
| ;; |
| rs6000-*-lynxos*) |
| diff -ruN gcc-4.2.2/gcc/config/arm/t-arm-elf gcc-4.2.2.patched/gcc/config/arm/t-arm-elf |
| --- gcc-4.2.2/gcc/config/arm/t-arm-elf 2006-11-06 04:13:53.000000000 -0800 |
| +++ gcc-4.2.2.patched/gcc/config/arm/t-arm-elf 2007-11-25 13:44:12.000000000 -0800 |
| @@ -11,6 +11,10 @@ |
| MULTILIB_EXCEPTIONS = |
| MULTILIB_MATCHES = |
| |
| +# build a bunch of specialized versions of libcc for particular cores |
| +MULTILIB_OPTIONS += mcpu=arm7tdmi/mcpu=arm9tdmi/mcpu=arm920t/mcpu=arm926ej-s/mcpu=arm1136j-s/mcpu=arm1136jf-s/mcpu=arm1176jz-s/mcpu=arm1176jzf-s/mcpu=xscale/mcpu=mpcore/march=armv4/march=armv4t/march=armv5/march=armv5t/march=armv5te/march=armv6/march=armv6j/march=armv6k/march=armv6z/march=armv6zk |
| +MULTILIB_DIRNAMES += arm7tdmi arm9tdmi arm920t arm926ej-s arm1136j-s arm1136jf-s arm1176jz-s arm1176jzf-s xscale mpcore armv4 armv4t armv5 armv5t armv5te armv6 armv6j armv6k armv6z armv6zk |
| + |
| # MULTILIB_OPTIONS += mcpu=ep9312 |
| # MULTILIB_DIRNAMES += ep9312 |
| # MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312* |
| @@ -23,8 +27,8 @@ |
| # MULTILIB_DIRNAMES += fpu soft |
| # MULTILIB_EXCEPTIONS += *mthumb/*mhard-float* |
| # |
| -# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork |
| -# MULTILIB_DIRNAMES += normal interwork |
| +MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork |
| +MULTILIB_DIRNAMES += normal interwork |
| # |
| # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore |
| # MULTILIB_DIRNAMES += elf under |
| diff -ruN gcc-4.2.2/gcc/config/i386/t-x86_64elf gcc-4.2.2.patched/gcc/config/i386/t-x86_64elf |
| --- gcc-4.2.2/gcc/config/i386/t-x86_64elf 1969-12-31 16:00:00.000000000 -0800 |
| +++ gcc-4.2.2.patched/gcc/config/i386/t-x86_64elf 2007-11-25 13:44:12.000000000 -0800 |
| @@ -0,0 +1,21 @@ |
| +# On x86-64 we do not need any exports for glibc for 64-bit libgcc_s, |
| +# override the settings |
| +# from t-slibgcc-elf-ver and t-linux |
| +#SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \ |
| +# $(srcdir)/config/i386/libgcc-x86_64-glibc.ver |
| + |
| +MULTILIB_OPTIONS = m64/m32 |
| +MULTILIB_DIRNAMES = 64 32 |
| +MULTILIB_OSDIRNAMES = ../lib64 ../lib |
| + |
| +LIBGCC = stmp-multilib |
| +INSTALL_LIBGCC = install-multilib |
| + |
| +#EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o \ |
| +# crtbeginT.o crtfastmath.o |
| + |
| +# The pushl in CTOR initialization interferes with frame pointer elimination. |
| +# crtend*.o cannot be compiled without -fno-asynchronous-unwind-tables, |
| +# because then __FRAME_END__ might not be the last thing in .eh_frame |
| +# section. |
| +#CRTSTUFF_T_CFLAGS = -fno-omit-frame-pointer -fno-asynchronous-unwind-tables |
| diff -ruN gcc-4.2.2/gcc/config.gcc gcc-4.2.2.patched/gcc/config.gcc |
| --- gcc-4.2.2/gcc/config.gcc 2007-09-01 08:28:30.000000000 -0700 |
| +++ gcc-4.2.2.patched/gcc/config.gcc 2007-11-25 13:44:12.000000000 -0800 |
| @@ -1058,6 +1058,10 @@ |
| x86_64-*-freebsd*) |
| tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h" |
| ;; |
| +x86_64-*-elf*) |
| + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/x86-64.h" |
| + tmake_file="i386/t-x86_64elf" |
| + ;; |
| i[34567]86-*-netbsdelf*) |
| tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h" |
| ;; |