buildroot fails for ARM w/ gcc 4.1 and soft float

Rob Landley rob at landley.net
Sat Jun 30 02:32:42 UTC 2007


On Friday 29 June 2007 13:19:13 Jeff Warren wrote:
> Hello,
> I am using the latest buildroot snapshot and it defaults to gcc 4.1.2  I

A) The buildroot list is buildroot at uclibc.org

B) My Firmware Linux thing builds a working arm soft float toolchain if you 
pick the "armv4l" target, http://landley.net/code/firmware

Rob

> 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
>
>
>
>
>
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://busybox.net/cgi-bin/mailman/listinfo/uclibc



-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.



More information about the uClibc mailing list