This is the mail archive of the crossgcc@sourceware.org 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] |
--- Bridge Wu <mingqiao.wu@gmail.com> wrote: > Hi, > > I got a toolchain with gcc-4.1.0/glibc-2.4/binutils-2.16.91.0.7 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 > is > 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. > Are you using my patch for arm-iwmmxt-linux-gnueabi? I defaults to mcpu=iwmmxt and mabi=aapcs-linux. Be aware that you need an aapcs compatible ABI for iWMMXt mode. You will have to make sure that your -march is set to something appropriate. > 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. > Again my patch uses VFP since the iWMMXt does it in hardware. If you you want to be backward compatible with OABI you'll have to use FPA and/or softfloat since it was a part of the ABI. You'll need to use multilib I believe. > 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: > /home/test/gcc41-glibc24-binu216/build/arm-iwmmxt-linux-gnueabi/gcc-4.1.0-glibc-2.4/gcc-4.1.0/configure > --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 > --with-headers=/usr/local/bridge/arm-iwmmxt-linux-gnueabi/arm-iwmmxt-linux-gnueabi/include > --with-local-prefix=/usr/local/bridge/arm-iwmmxt-linux-gnueabi/arm-iwmmxt-linux-gnueabi > --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 Ah, you've used softfloat. That may won't use FPA or VFP unless you specifiy -mfloat-hard. Yes, you should be able to use your own specs in theory! :) Just make sure the underlying support has been compiled in for any changes! > > -- > best regards, > -Bridge I've only been digging deeply into this stuff for a couple of months so although I don't think I've done anything wrong in my patch; at least nobody has said anything! It does seem to work! :) Steve ___________________________________________________________ Does your mail provider give you FREE antivirus protection? Get Yahoo! Mail http://uk.mail.yahoo.com -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |