Building multilibs with gcc - where is the predefined set kept?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have been trying to build a gcc cross-compiler with multilib support. Specifically, I want big-endian with options for floating-point and no floating-point. I ensure that I specifiy -enable-multilib in the configure script. However, when I build the compiler, I just get the thumb sub-directory and little-endian libgcc.a. I have read the various docs. (including the internals), visited the wiki, looked through the FAQ and cannot find an answer to why I am not building all the libraries I want. The manual says that for ARM (which is what I want), a predefined set of libraries are built.

My question is: Where is the predefined set defined? I have not been able to find it in any of the obvious configuration files.

When I execute gcc -print-multi-lib, it just returns with .; and thumb;@mthumb whereas when I run the same command for a pre-build binary (gnuarm, I get the whole raft of fpu/non-fpu, big and little-endian libraries. I would just use the pre-built binary from Gnuarm but the build options for GCC are not what I want. (I also would like a newer toolchain).

I am using gcc-4.4.0, binutils 2.19 and newlib 1.17.0.

The config.h file that is auto-generated by the configure/make process only contains the thumb library. Where does that file get the list of libraries to build from? (I am following the guidelines and building in a directory entirely separate from the source tree).

Looking through the manual, I see that specific libraries can be disabled but that the -endian=list and the multilib=list are only defined for the SH family and apparently not for ARM. That is the sort of functionality I want.

Many thanks in anticipation of your reply and help with this issue.

(As an aside - what are the best optimizations to apply for ARM? We have a multi-compiler build environment here. We use an old commercial compiler for ARM mainly but gcc for MIPS. The MIPS GCC produces smaller and faster executables than the equivalent commercial offering. The 3.4.4 release of GCC performs worse than the commercial ARM compiler but I have noticed that GCC-4.4.0 is significantly better than 3.4.4. I am setting up a GCC-4.4.0 ARM toolchain and hoping that we could ditch the commercial compiler but that would require code that is smaller, faster and support big and little-endian processors).

Best regards,

David Barrass


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux