Soft Float for PC386

Angelo Fraietta angelo at hunterlink.net.au
Tue Feb 13 02:30:59 UTC 2001


I noticed this during the build process:

Making all in lib/libcpu
gmake[3]: Entering directory `/opt/rtems/tools/build-i386-rtems/i386-rtems/c/pc3
86/lib/libcpu'
Making all in i386
gmake[4]: Entering directory `/opt/rtems/tools/build-i386-rtems/i386-rtems/c/pc3
86/lib/libcpu/i386'
mkdir o-optimize
i386-rtems-gcc --pipe -B../../../../.././pc386/lib/ -specs bsp_specs -qrtems -g
-Wall -ansi -fasm           -c    -I../../../../../../../RTEMS4.5.0ss/c/src/lib/
libcpu/i386  -O4 -o o-optimize/cache.o ../../../../../../../RTEMS4.5.0ss/c/src/l
ib/libcpu/i386/cache.c

down to

i386-rtems-gcc --pipe -B../../../../../../../pc386/lib/ -specs bsp_specs -qrtems
 -g -Wall -ansi -fasm            -L ../../../../../../../pc386/lib   -O4  -qnoli
nkcmds -nostdlib -Wl,-r  -o o-optimize/timer.rel o-optimize/timer.o o-optimize/t
imerisr.o

This part of the build does not have the  -msoft-float -mno-fp-ret-in-387 flags. Should those parts of the build be
without the soft-float cpu flags??

Joel Sherrill wrote:

> Ralf Corsepius wrote:
> >
> > Angelo Fraietta wrote:
> > >
> > > I have noticed during the configure stage of the script, the following is shown (this is from the ts_386 so
> > > it should be soft float)
> > > running /bin/sh ../../../../../RTEMS4.5.0ss/c/src/make/configure  --host=i386-rt
> > > ems --build=i586-pc-linux-gnu --target=i386-rtems --prefix=/opt/rtems --disable-
> > > hwapi --enable-multiprocessing --enable-cxx --enable-rdbg --disable-tests --disa
> > > ble-networking --enable-posix --disable-itron --with-target-subdir=i386-rtems --
> > > libdir=/opt/rtems/i386-rtems/lib --cache-file=.././config.cache --srcdir=../../.
> > >
> > > does libdir=/opt/rtems/i386-rtems/lib mean that it would be linking with the libraries in that directory
> > > instead of the soft-float directory?
> > No. libdir is used by autoconf and automake to specify the path to
> > the directory where libraries shall be install during "make
> > install".
> > Currently is not used at all by RTEMS,and therefore should not have
> > any influence at all.
> >
> > > Shouldn't that be /opt/rtems/i386-rtems/lib/soft-float ??
> > No. libdir can vary inside of the build tree and should better not
> > be passed manually to the toplevel configure script at all.
> >
> > However, there should neither be a need to set it, nor should having
> > set it have any effect on building RTEMS. (Warning: Future versions
> > of RTEMS probably will be using it.)
> >
> > > I copied the files from the soft-float directory to that directory but still had the same fault, i.e.
> > > exception 7.
> > >  Is there anywhere else I should be looking
> > You could try to isolate the location of the offending FPU-call
> > (find the caller, eg. by debugging paranoia.exe, disassembly,
> > linker-map analysis).
>
> My guess is that incorrectly/accidentally there is an FP instruction.
> It could be by linking against the wrong library, incorrect code
> generation, or simply a piece of code assuming an FPU.  Given the
> fault address, you can do an objdump on the executable and see
> what instruction is at that address.  Using the objdump and symbol
> table (nm), you can tell what routine the offending instruction is
> in.  That plus possible the output of linking with -v should be
> enough to figure out where to look.
>
> > > or am I off the track completely??
> > :)
> >
> > >
> > > angelo wrote:
> > >
> > > > Is it possible that the wrong libraries are being linked.
> > You might want to add -v to the linker invocation in your BSP's
> > make-exe (make/custom/<BSP>.cfg) and try to analyse the what it
> > reports for linking paranoia.exe.
> >
> > Ralf
> >
> > --
> > Ralf Corsepius
> > Forschungsinstitut fuer Anwendungsorientierte Wissensverarbeitung
> > (FAW)
> > Helmholtzstr. 16, 89081 Ulm, Germany     Tel: +49/731/501-8690
> > mailto:corsepiu at faw.uni-ulm.de           FAX: +49/731/501-999
> > http://www.faw.uni-ulm.de
>
> --
> Joel Sherrill, Ph.D.             Director of Research & Development
> joel at OARcorp.com                 On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> Support Available                (256) 722-9985

--
Angelo Fraietta

PO Box 859
Hamilton NSW 2303

Home Page

http://users.hunterlink.net.au/~maaaf/

There are those who seek knowledge for the sake of knowledge - that is CURIOSITY
There are those who seek knowledge to be known by others - that is VANITY
There are those who seek knowledge in order to serve - that is LOVE
    Bernard of Clairvaux (1090 - 1153)





More information about the users mailing list