This is the mail archive of the
mailing list for the newlib project.
RE: ARM Multilib libc - make install only copies the default libc.a file to the toolchain directory.
- From: "Gibson, David" <David dot Gibson at analog dot com>
- To: James Walmsley <james at fullfat-fs dot co dot uk>, "newlib at sourceware dot org" <newlib at sourceware dot org>
- Date: Tue, 19 Nov 2013 15:09:07 +0000
- Subject: RE: ARM Multilib libc - make install only copies the default libc.a file to the toolchain directory.
- Authentication-results: sourceware.org; auth=none
- References: <8a302e579c8048f999a44c39bc85a02b at DB3PR04MB203 dot eurprd04 dot prod dot outlook dot com>
Have you configured the appropriate multilib configuration file in GCC to define the appropriate multilib definitions for your compiler?
For example, with the bare metal toolchain take a look at gcc/config/arm/t-arm-elf (Assuming you're building a bare metal toolchain).
You can uncomment the appropriate lines in there to support the processors you want to produce libs for.
If you're building a cross compiler you'll typically build the first stage gcc without multilibs, and only enable them (add --enable-multilib) and build the appropriate libraries during the second stage build.
Hope that helps.
From: email@example.com [mailto:firstname.lastname@example.org] On Behalf Of James Walmsley
Sent: 19 November 2013 10:38
Subject: ARM Multilib libc - make install only copies the default libc.a file to the toolchain directory.
I've been creating a new toolchain based on newlib for my embedded operating system bitthunder (github.com/jameswalmsley/bitthunder/), and so far I've had lots of success.
One of my colleagues asked if I can generate a toolchain with support for armv7-a with neon and hard float support.
I have managed to sucessfully compile my toolchain and newlib, but when linking to libc I get errors.
After some analysis of the problem, I noticed that it was always linking to the default libc.a file (arm-eabi-bt/libc.a).
I then noticed that the my toolchain only contained a single libc.a file, yet the build directory contained many libc.a files for each multilib variant.
I copied the libc.a files into the correct locations in my toolchain and I can now successfully compile and link.
Is there a problem with the default make install, or is there some kind of make install-multilibs?
I am using the newlib-2.0.0 release.
Many thanks in advance,