buildroot fails for ARM w/ gcc 4.1 and soft float
Jeff Warren
tiny.laser at comcast.net
Fri Jun 29 17:19:13 UTC 2007
Hello,
I am using the latest buildroot snapshot and it defaults to gcc 4.1.2 I
have scoured the web for my issues building the tool chain and am
falling into the exact same trap that lance here did with this thread
last year. http://www.busybox.net/lists/uclibc/2006-May/015352.html
First the undefined links to the floating point functions and then the
cannot link with GCC_NO_EXECUTABLES set error. Looking back at this
thread, I see no definitive answer as to where to go next. Anyone have
any insight? Lance, did you ever get this working?
I added the patch that Khem Raj suggested to get further:
http://www.busybox.net/lists/uclibc/2006-May/015361.html
Index: gcc-4.1.0/gcc/config/arm/t-linux
===================================================================
--- gcc-4.1.0.orig/gcc/config/arm/t-linux
+++ gcc-4.1.0/gcc/config/arm/t-linux
@@ -4,7 +4,12 @@ TARGET_LIBGCC2_CFLAGS = -fomit-frame-poi
LIBGCC2_DEBUG_CFLAGS = -g0
LIB1ASMSRC = arm/lib1funcs.asm
-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
+ _call_via_rX _interwork_call_via_rX \
+ _lshrdi3 _ashrdi3 _ashldi3 \
+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
_fixunsdfsi \
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
+ _fixsfsi _fixunssfsi _floatdidf _floatdisf
# MULTILIB_OPTIONS = mhard-float/msoft-float
# MULTILIB_DIRNAMES = hard-float soft-float
Now I am wondering if this is causing the GCC_NO_EXECUTABLES issue.
Should I use a different/better GCC? I am targeting the arm920T.
Another thought I had was to remove the above patch from GCC and build
only the initial GCC, with this build the libfloat and put it somewhere
that uClibc can link to it. I got libfloat to build and changed
Rules.mak by uncommenting the line: LDADD_LIBFLOAT=-lfloat (-msoft-float
is already set by telling the build root to use software floating point
right?) Although I did this, I could not find the place to put libfloat
so that uClibc would link up to it, I tried $STAGING_DIR/lib,
toolchain_build_arm_nofpu/uClibc/lib, toolchain_build_arm_nofpu/uClibc
and even the /lib dir of the OS! I used the file utility to confirm
that libfloat was indeed an ARM library.
Regards,
Jeff Warren
More information about the uClibc
mailing list