AW: [uClinux-dev] FP-problems with arm-linux-tools-20061213

Greg Ungerer gerg at snapgear.com
Thu Mar 8 07:06:52 EST 2007


Hi Josef,

Wolf, Josef wrote:
> Thanks for your answer, Greg!
> 
>>> To solve this, I put CFLAGS += -msoft-float in
>>> vendors/config/armnommu/config.arch.  Then the error changes into:
>> This final link line will need a "-msoft-float" as well.
>> Otherwise it will try to link against the wrong libgcc.a
> 
> Ough... I would not have been asked if it would be _that_ easy ;-)

Well, from your last email:

>   ucfront-gcc arm-linux-gcc  -Wl,-elf2flt -D__PIC__ -fpic
> -msingle-pic-base -o boa alias.o auth.o boa.o cgi.o cgi_header.o
> config.o get.o hash.o globals.o log.o nls.o pipe.o queue.o read.o
> request.o response.o signals.o timestamp.o util.o -lcrypt

And that has no "-msoft-float".


> When I put LDFLAGS += -msoft-float in vendors/config/armnommu/config.arch,
> arm-linux-ld complains about unsupported emulation mode when it tries to
> link the kernel:

Which LDFLAGS in config.arch did you change?
And which uClinux-dist are you using?

The current version (from 20070130) has many LDFLAGS options
that already contain -msoft-float... See
http://cvs.uclinux.org/cgi-bin/cvsweb.cgi/~checkout~/uClinux-dist/vendors/config/armnommu/config.arch?rev=1.1.1.9;content-type=text%2Fplain

Regards
Greg



>   [ ... ]
>   arm-linux-gcc -D__KERNEL__ -I/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/include  -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -march=armv4 -mtune=arm7tdmi -malignment-traps -msoft-float    -DKBUILD_BASENAME=do_mounts -c -o init/do_mounts.o init/do_mounts.c
>   In file included from init/do_mounts.c:18:
>   /m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/include/linux/cramfs_fs.h:120:2: warning: #warning "__BYTE_ORDER == __LITTLE_ENDIAN"
>   make[3]: Entering directory `/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/arch/armnommu/tools'
>   make[3]: Für das Ziel »all« ist nichts zu tun.
>   make[3]: Leaving directory `/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/arch/armnommu/tools'
>   make CFLAGS="-D__KERNEL__ -I/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/include  -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -march=armv4 -mtune=arm7tdmi -malignment-traps -msoft-float  " -C  kernel
>   make[3]: Entering directory `/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/kernel'
>   make all_targets
>   make[4]: Entering directory `/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/kernel'
>   rm -f kernel.o
>   arm-linux-ld -msoft-float   -r -o kernel.o sched.o fork.o exec_domain.o panic.o printk.o module.o exit.o itimer.o info.o time.o softirq.o resource.o sysctl.o acct.o capability.o ptrace.o timer.o user.o signal.o sys.o kmod.o context.o uid16.o ksyms.o
>   /usr/local/bin/arm-linux-ld.real: unrecognised emulation mode: soft-float
>   Supported emulations: armelf_linux armelf
>   [ ... ]
> 
> Can you give me a hint where to put the option to cause the final link
> to use the proper libgcc?
> _______________________________________________
> uClinux-dev mailing list
> uClinux-dev at uclinux.org
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by uclinux-dev at uclinux.org
> To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev
> 


-- 
------------------------------------------------------------------------
Greg Ungerer  --  Chief Software Dude       EMAIL:     gerg at snapgear.com
SnapGear -- a Secure Computing Company      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com


More information about the uClinux-dev mailing list