Opened 14 years ago
Closed 14 years ago
#759 closed task (fixed)
Add --disable-multilib to ARM's and MIPS's GCC
Reported by: | Andrew Bradford | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | CLFS Embedded 1.0.0 |
Component: | BOOK | Version: | CLFS Embedded GIT |
Keywords: | Cc: |
Description
We should be building a GCC that's single library for the embedded book. Need to add --disable-multilib to the ARM and MIPS books to do this.
This may require specifying the arm/thumb instruction set (--with-mode=), soft/hard/softfp floating point operation (--with-float=), and how divide by zero is handled (--with-divide=).
See discussion on dev mailing list: http://lists.cross-lfs.org/pipermail/clfs-dev-cross-lfs.org/2011-February/000898.html
Change History (4)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
For MIPS, we should be sure to specify: --with-float (soft / hard), --with-abi, --with-arch, and --with-endian.
GCC figures out the endian-ness for ARM based on the target triplet. It doesn't appear to do the same for MIPS.
comment:3 by , 14 years ago
My git repo, as of commit b54e9693a1657df4c308a92602e96370c3850f6a, specifies all the above mentioned requirements in order to enable --disable-multilib for all GCC builds (all archs and both static and final GCC).
comment:4 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Copy/paste from mailing list discussion:
From gcc-4.5.2/gcc/config, it looks like any target triplet of arm*-*-linux* gets a default configuration from gcc-4.5.2/gcc/config/arm/linux-elf.h and arm.h that is: arm mode, little (or big, if you have arm*b-*) endian, hard-float, apcs abi, and does not allow thumb interworking.
If your target triplet is arm*-*-linux-*eabi, configuration from gcc-4.5.2/gcc/config/arm/linux-eabi.h and bpabi.h will overwrite some of this with: aapcs-linux abi, cpu of arm10tdmi (which is a member of armv5t), vfp, and soft-float.
I now get the impression that in order to safely use --disable-multilib, the ARM book should specify: --with-float, --with-mode, --with-abi, --with-fpu, and --with-cpu OR --with-arch. (For --with-cpu / --with-arch, see #758.)