diff -urN gcc-4.3.2.org/gcc/config/arm/elf.h gcc-4.3.2/gcc/config/arm/elf.h --- gcc-4.3.2.org/gcc/config/arm/elf.h 2007-08-02 19:49:31.000000000 +0900 +++ gcc-4.3.2/gcc/config/arm/elf.h 2009-02-06 15:18:06.859375000 +0900 @@ -145,3 +145,9 @@ } \ while (0) + +#undef LIB_SPEC +#define LIB_SPEC "" + +#undef LIBGCC_SPEC +#define LIBGCC_SPEC "-lgcc" diff -urN gcc-4.3.2.org/gcc/config/arm/lib1funcs.asm gcc-4.3.2/gcc/config/arm/lib1funcs.asm --- gcc-4.3.2.org/gcc/config/arm/lib1funcs.asm 2007-05-31 04:04:09.000000000 +0900 +++ gcc-4.3.2/gcc/config/arm/lib1funcs.asm 2009-02-17 08:55:27.570593500 +0900 @@ -54,7 +54,8 @@ #ifdef __ELF__ #ifdef __thumb__ #define __PLT__ /* Not supported in Thumb assembler (for now). */ -#elif defined __vxworks && !defined __PIC__ +/*#elif defined __vxworks && !defined __PIC__*/ +#elif !defined __PIC__ #define __PLT__ /* Not supported by the kernel loader. */ #else #define __PLT__ (PLT) diff -urN gcc-4.3.2.org/gcc/config/arm/t-arm-elf gcc-4.3.2/gcc/config/arm/t-arm-elf --- gcc-4.3.2.org/gcc/config/arm/t-arm-elf 2007-01-04 08:48:10.000000000 +0900 +++ gcc-4.3.2/gcc/config/arm/t-arm-elf 2009-02-06 15:19:15.984375000 +0900 @@ -33,8 +33,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 @@ -77,7 +77,8 @@ # Currently there is a bug somewhere in GCC's alias analysis # or scheduling code that is breaking _fpmul_parts in fp-bit.c. # Disabling function inlining is a workaround for this problem. -TARGET_LIBGCC2_CFLAGS = -fno-inline +#TARGET_LIBGCC2_CFLAGS = -fno-inline +TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline # Assemble startup files. $(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES)