[Top] [All Lists]


To: Manuel Lauss <>
Subject: Re:
From: David Daney <>
Date: Fri, 11 Jun 2010 10:06:50 -0700
Cc: Jabir M <>,,
In-reply-to: <>
References: <> <>
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100430 Fedora/3.0.4-2.fc12 Thunderbird/3.0.4
On 06/11/2010 07:32 AM, Manuel Lauss wrote:

On Fri, Jun 11, 2010 at 4:06 PM, Jabir M<>  wrote:
    I am working on a FPU-less 34k MIPS platform with linux-2.6.24
kernel. After running a Darwin media streaming server on the board
for a while, my oprofile results shows high utilization on
fpu_emulator_cop1Handler()&  r4k_wait().

r4k_wait() is the idle task, so that indicates there is nothing to do at those sample points.

wiki page says gcc will
use hard float as default and soft float is best suited model for a
fpu less processor.  Could anyone kindly help me in understanding use
of -msoft-float .
Whether I need to compile

1. kernel with -msoft-float ? or

The kernel doesn't use floating point.  So it doesn't matter.

2. Glibc ? or
3. Application ? or
4. All the above ?

If you don't want to use the kernel's FP emulator, you need 2 and 3.

I have fought with this in the past; what you need to do is:
- build gcc with softfloat support (mipsel-softfloat-linux-gnu triplet
for example),
- build a libc with this new compiler,
- then rebuild all libraries and apps with you new softfloat toolchain.

I have a working softfloat environment for MIPS32 here at [1], it includes a
complete c/c++ toolchain with gcc-4.4.3.   It's built for mips32r1, no idea if
it is supposed to work with 34k cores.

34k is mips32r2, which will run r1 code with no problem.

Best regards,
         Manuel Lauss


<Prev in Thread] Current Thread [Next in Thread>