[Buildroot] Problem with iperf

Nicola Salvemini nicolasalvemini at yahoo.it
Fri Feb 29 15:07:08 UTC 2008


Hi Rex, 
thanks for your advice! This was helpful.
I tried to use 'make clean' command to clean buildroot but, obviously, it was not appropriate!

However I have now another problem. 
After some iteration, iperf stops with some TX underrun ethernet errors:

eth0: TX underrun, resetting buffer

After a brief research I understood that this is a know problem for AT91SAM9260 processor (https://linuxlink.timesys.com/forum/2119), and I'm trying for resolve it.

Thank you very much for your help,
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, 18:21:31
Oggetto: Re: [Buildroot] Problem with iperf

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
 
 _______________________________________________
 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








      L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail








      ___________________________________ 
L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: http://it.docs.yahoo.com/nowyoucan.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20080229/db0b1573/attachment.html>


More information about the buildroot mailing list