This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: where do I get these lib/nof/* files?


On 31 Jan 2004 at 17:34, David Wuertele wrote:

> >> And now my build will finally progress past this point.
> >> Doesn't anyone else have this problem?  Where the heck do I get the
> >> lib/nof/* files?

 Generally you will get them by compiling glibc once again with the
'-msoft-float' option.

> Dan> You don't need those files unless you have a CPU that doesn't
> Dan> support floating point (and even then, they might be somewhere
> Dan> else; that path is right for how the ppc405 is set up).

 The Linux kernel should take care of the FPU-emulation, but as its
comments ('arch/mips/math-emu') are telling:

------------------------------- clip ----------------------------
/home2/src/linux-2.4.22/arch/mips/math-emu > less cp1emu.c
/*
 * cp1emu.c: a MIPS coprocessor 1 (fpu) instruction emulator
 *
 * MIPS floating point support
 * Copyright (C) 1994-2000 Algorithmics Ltd.  All rights reserved.
 * http://www.algor.co.uk
 *
 * Kevin D. Kissell, kevink@mips.com and Carsten Langgaard, 
carstenl@mips.com
 * Copyright (C) 2000  MIPS Technologies, Inc.
 *

<snip>

* A complete emulator for MIPS coprocessor 1 instructions.  This is
 * required for #float(switch) or #float(trap), where it catches all
 * COP1 instructions via the "CoProcessor Unusable" exception.
 *
 * More surprisingly it is also required for #float(ieee), to help 
out
 * the hardware fpu at the boundaries of the IEEE-754 representation
 * (denormalised values, infinities, underflow, etc).  It is made
 * quite nasty because emulation of some non-COP1 instructions is
 * required, e.g. in branch delay slots.
 *
 * Note if you know that you won't have an fpu, then you'll get much
 * better performance by compiling with -msoft-float!
 */
------------------------------- clip ----------------------------

the '-msoft-float' option which produces direct calls to the basic
soft-float routines, can cause a better performance...

> My CPU has no floating point unit.  I looked around for nof/*, but
> didn't find anything.  Any suggestions?

 The point is that providing the '-msoft-float' specific glibc should
not be obligatory... You can build it and try it and see whether it
helps to better the float performance.

 Visiting the 'http://www.algor.co.uk' and seeing what they are
telling about MIPS, could be useful...

 My stupid question related to this area is: "What is the difference
between the 'mips(el)-linux-gnu' and the 'mipsisa32(el)-linux-gnu'
targets?"  The latter seems to default to the '-msoft-float', but
what is the main difference and why the people who don't have a
FPU, don't use this target name?

Cheers, Kai


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]