Wolfgang Denk wrote: > For some time there have been repeated reports about build problems > with some ARM (cross) tool chains. Especially issues about > (in)compatibility with the tool chain provided runtime support > library libgcc.a caused to add and support a private implementation > of such runtime support code in U-Boot. A closer look at the code > indicated that some of these issues are actually home-made. This > patch attempts to clean up some of the most obvious problems and make > building of U-Boot with different tool chains easier: > > - Even though all ARM systems basicy used the same compiler options > to select a specific ABI from the tool chain, the code for this was > distributed over all cpu/*/config.mk files. We move this one level > up into lib_arm/config.mk instead. > > - So far, we only checked if "-mapcs-32" was supported by the tool > chain; if yes, this was used, if not, "-mabi=apcs-gnu" was > selected, no matter if the tool chain actually understood this > option. There was no support for EABI conformant tool chains. > This patch implements the following logic: > > 1) If the tool chain supports > "-mabi=aapcs-linux -mno-thumb-interwork" > we use these options (EABI conformant tool chain). > 2) Otherwise, we check first if > "-mapcs-32" > is supported, and then check for > "-mabi=apcs-gnu" > If one test succeeds, we use the first found option. > 3) In case 2), we also test if "-mno-thumb-interwork", and use > this if the test succeeds. [For "-mabi=aapcs-linux" we set > "-mno-thumb-interwork" mandatorily.] > > This way we use a similar logic for the compile options as the > Linux kenrel does. > > - Some EABI conformant tool chains cause external references to > utility functions like raise(); such functions are provided in the > new file lib_arm/eabi_compat.c > > Note that lib_arm/config.mk gets parsed several times, so we must > make sure to add eabi_compat.o only once to the linker list. > > Signed-off-by: Wolfgang Denk <w...@denx.de> > Cc: Jean-Christophe PLAGNIOL-VILLARD <plagn...@jcrosoft.com> > Cc: Dirk Behme <dirk.be...@googlemail.com> > Cc: Magnus Lilja <lilja.mag...@gmail.com> > Cc: Tom Rix <tom....@windriver.com> > Cc: Prafulla Wadaskar <prafu...@marvell.com> > > MAKEALL arm with CodeSourcery's arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu
and this patch differ from USE_PRIVATE_LIBGCC=yes ./MAKEALL arm only in these targets actux1 actux2 actux3 actux4 ixdp425 ixdpg425 pdnb3 scpu trab As already mentioned already by http://lists.denx.de/pipermail/u-boot/2009-August/058838.html Tested-by : Tom Rix <tom....@windriver.com> _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot