some questions of gcc-4.1.0/glibc-2.4 toolchain

Bridge Wu
Thu Apr 27 17:03:00 GMT 2006


I got a toolchain with gcc-4.1.0/glibc-2.4/binutils- by
using crossgcc. It has a litte difference with the old version. Here
are some questions.

1. How to support multiple abi?
It can compile application with -mabi=aapcs. This can be observed with
"arm-iwmmxt-linux-gnueabi-objdum -p a.out | grep private", the result
              private flags = 4000002: [Version4 EABI] [has entry point]

I suppose the toolchain should support old abi and the default is
eabi. The test case shows the result with and without -mabi=aapcs is
the same. But I cannot get an old abi object file. I cannot use
-mabi=apcs option. I can use -mapcs, but the result is the same as
-mabi=aapcs. How should I support multiple abi to the
gcc-4.1.0/glibc-2.4 toolchain.

2. Which floating point is used?
I ever used objdump to see private flags in binary file show the
floating point format. But from item 1 we cannot know it. I checked
the binutils source file, seems FPA used, but I'm not sure.

3. How to modify gcc specs?
I remembered there is a specs file which can control some behaviours
of gcc. But following output shows the new toolchain uses built-in
specs. Can I still modify gcc specs?
$ arm-iwmmxt-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-iwmmxt-linux-gnueabi
Configured with:
--target=arm-iwmmxt-linux-gnueabi --host=i686-host_pc-linux-gnu
--prefix=/usr/local/bridge/arm-iwmmxt-linux-gnueabi --with-cpu=iwmmxt
--with-float=soft --enable-cxx-flags=-msoft-float
--disable-nls --enable-threads=posix --enable-symvers=gnu
--enable-__cxa_atexit --enable-languages=c,c++ --enable-shared
--enable-c99 --enable-long-long
Thread model: posix
gcc version 4.1.0

best regards,

For unsubscribe information see

More information about the crossgcc mailing list