[Buildroot] Problem with iperf
Rex Ashbaugh
rexa at xeratech.com
Thu Feb 28 17:21:31 UTC 2008
hmm, looks like "_udivsi3_s.o" (built with hardware FP) was built prior to
your new configuration selection of software FP.
you may need to clean buildroot, or start over.
just in case, my suggestion is you probably want to preserve the buildroot
directory you have,
then start a new test buildroot directory and use the correct FP config to
see if this will prevent the error below.
On 2/28/08, Nicola Salvemini <nicolasalvemini at yahoo.it> wrote:
>
> Yes,
> I tried to select option "Use software floating point by default" from
> buildroot configuration menu, but I have some compilation problems:
>
> /home/user/buildroot/build_arm/staging_dir/usr/arm-linux-uclibc/bin/ld:
> ERROR: libgcc/./_udivsi3_s.o uses hardware FP, whereas ./libgcc_s.so.1.tmp
> uses software FP
> /home/user/buildroot/build_arm/staging_dir/usr/arm-linux-uclibc/bin/ld:
> failed to merge target specific data of file libgcc/./_udivsi3_s.o
> /home/user/buildroot/build_arm/staging_dir/usr/arm-linux-uclibc/bin/ld:
> ERROR: libgcc/./_divsi3_s.o uses hardware FP, whereas ./libgcc_s.so.1.tmp
> uses software FP
> /home/user/buildroot/build_arm/staging_dir/usr/arm-linux-uclibc/bin/ld:
> failed to merge target specific data of file libgcc/./_divsi3_s.o
>
> ....
>
> etcetera...
>
> Best regards,
> Nicola.
>
>
> ----- Messaggio originale -----
> Da: Rex Ashbaugh <rexa at xeratech.com>
> A: Nicola Salvemini <nicolasalvemini at yahoo.it>
> Cc: buildroot at uclibc.org
> Inviato: Giovedì 28 febbraio 2008, 16:33:19
> Oggetto: Re: [Buildroot] Problem with iperf
>
> Also, check how your cross compiler is configured for floating point
> handling..
>
> http://www.arm.linux.org.uk/mailinglists/faq.php
>
> 3. I feel really confused about what's the difference with gcc
>
> soft-float support and the kernel NWFPE/FastFPE support?
> [31 January 2004 - np]
> Scenario 1 (hard-float): The compiler emits opcodes designed to
>
> be used with a hardware floating point coprocessor (FPU). The
>
> FPU usually has a set of extra registers for its use, and the
> compiler may as well pass floating point argument to functions
> through those registers. This is of course the best performing
>
> solution when a real hardware FPU is used.
>
> Scenario 2 (soft-float): the compiler converts floating point
> operations into function calls and a special library is used to
> provide all functions performing the required operations, all
>
> in software with no FPU instructions at all. There is obviously
> no extra floating point registers available in this case,
> therefore all FP arguments to functions have to be passed
>
> through standard registers or on the stack. This is of course
> the best performing solution when no
> hardware FPU is available,
> given that the library implementing the FP operations is
>
> optimally coded.
>
> Now, unfortunately, the default on ARM Linux has traditionally
> been set to have the compiler use hard-float, even if ARM Linux
> never ran on any ARM CPU with a real hardware FPU. The CPU is
>
> therefore raising the invalid instruction exception each time
> some FPU opcode is encountered. Then the kernel traps that
> exception, looks at the given FPU instruction and emulates it
>
> in software. But here not only the kernel must perform the FP
> operation, it must emulates the whole hardware FPU as well.
> That's what NWFPE or FastFPE are doing. This is obviously the
>
> worst performing arrangement that can be due to the exception
> trap and emulation
> overhead
>
>
>
> On 2/28/08, Nicola Salvemini <nicolasalvemini at yahoo.it> wrote:
> >
> > Hi Rex,
> >
> > Yes I tried with the previous version (2.0.1) of iperf, bat I had same
> > results.
> > I'm waiting for a replay from iperf maintainer.
> > Best regards,
> >
> > Nicola.
> >
> > ----- Messaggio originale -----
> > Da: Rex Ashbaugh <rexa at xeratech.com>
> > A: Nicola Salvemini <nicolasalvemini at yahoo.it>
> > Cc: buildroot at uclibc.org
> > Inviato: Mercoledì 27 febbraio 2008, 16:52:03
> > Oggetto: Re: [Buildroot] Problem with iperf
> >
> >
> > NWFPE is the floating point emulator.
> >
> > 00000002 is a floating point divide-by-zero.
> >
> > try another version of iperf maybe?
> > report this problem to the iperf maintainer?
> > -Rex
> >
> >
> > On 2/27/08, Nicola Salvemini <nicolasalvemini at yahoo.it> wrote:
> > >
> > > Hi all,
> > >
> > > I have a ARM arm926t (it's a little-endian) target platform and I use
> > > buildroot to cross-compile applications.
> > > I include iperf in the package selection for the target and the build
> > > phase go to the end without problems, but when I try to use iperf on the
> > > target, I take an exception:
> > >
> > > NWFPE: iperf[770] takes exception 00000002 at c00288f0 from 400f4580
> > > NWFPE: iperf[770] takes exception 00000002 at c00288f0 from 400f4580
> > > NWFPE: iperf[770] takes exception 00000002 at c00288f0 from 400f4580
> > >
> > > Could you please give me an idea to resolve the problem?
> > > Thanks in advance,
> > >
> > >
> > > Nicola.
> > >
> > >
> > >
> > >
> > >
> > > ___________________________________
> > > L'email della prossima generazione? Puoi averla con la nuova Yahoo!
> > > Mail: http://it.docs.yahoo.com/nowyoucan.html<http://it.docs..yahoo.com/nowyoucan.html>
> > >
> > > _______________________________________________
> > > buildroot mailing list
> > > buildroot at uclibc.org
> > > http://busybox.net/mailman/listinfo/buildroot
> > >
> >
> >
> >
> > ------------------------------
> > ------------------------------
> > L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail<http://us.rd.yahoo.com/mail/it/taglines/hotmail/nowyoucan/nextgen/*http://it.docs.yahoo.com/nowyoucan.html>
> >
>
>
>
> ------------------------------
> ------------------------------
> L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail<http://us.rd.yahoo.com/mail/it/taglines/hotmail/nowyoucan/nextgen/*http://it.docs.yahoo.com/nowyoucan.html>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildroot.org/pipermail/buildroot/attachments/20080228/75570fb2/attachment-0001.html>
More information about the buildroot
mailing list