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] |
On Sat, 30 Aug 2008, Michael Abbott wrote: > 1. Sorry, my analysis was wrong, but *something's* broken with the EABI > configuration setup! > 2. I can't build a good toolchain (sizeof(enum)==1 is a disaster). I may have spotted a discrepancy, with CT_ARCH_ABI_CFLAGS where it looks as if CT_ARCH_ABI_CFLAG was meant. I'm doing a rebuild test, but I think there's enough evidence for an update. If I compare the log files with two different CT_ARCH_ABI selections I get: @@ -282,7 +282,8 @@ [EXTRA] build = i686-pc-linux-gnu [EXTRA] host = i686-pc-linux-gnu [EXTRA] target = arm-unknown-linux-gnueabi -[DEBUG] CT_ARCH_ABI= +[DEBUG] CT_ARCH_ABI=aapcs +[DEBUG] CT_ARCH_ABI_CFLAG=-mabi=aapcs [DEBUG] CT_ARCH_ABI_CFLAGS=-mabi=aapcs-linux [DEBUG] CT_ARCH_ARCH=armv5te [DEBUG] CT_ARCH_ARCH_CFLAG=-march=armv5te Interesting and suspicious. Both _CFLAG and _CFLAGS defined when aapcs selected? Hmm. And further down: @@ -304,7 +305,7 @@ [DEBUG] CT_ARCH_SUPPORT_FPU=y [DEBUG] CT_ARCH_SUPPORTS_BOTH_ENDIAN=y [DEBUG] CT_ARCH_SUPPORT_TUNE=y -[DEBUG] CT_ARCH_TARGET_CFLAGS='-mlittle-endian -march=armv5te -mcpu=xscale -mtune=xscale -msoft-float' +[DEBUG] CT_ARCH_TARGET_CFLAGS='-mlittle-endian -march=armv5te -mabi=aapcs -mcpu=xscale -mtune=xscale -msoft-float' [DEBUG] CT_ARCH_TARGET_LDFLAGS=-EL [DEBUG] CT_ARCH_TUNE_CFLAG=-mtune=xscale [DEBUG] CT_ARCH_TUNE=xscale Very interesting. Where did the -mabi option go? (It doesn't appear anywhere else in the _ABI="" file.) So I've fingered these lines in arch/arm/functions: --- crosstool-ng-1.2.2.original/arch/arm/functions +++ crosstool-ng-1.2.2.patched/arch/arm/functions @@ -16,12 +16,12 @@ *,) ;; aapcs,y) CT_DoLog DEBUG "'--with-abi=aapcs' is in fact '-mabi=aapcs-linux' when used in CFLAGS." - CT_ARCH_ABI_CFLAGS="-mabi=aapcs-linux" + CT_ARCH_ABI_CFLAG="-mabi=aapcs-linux" ;; ,y) CT_DoLog WARN "Forcing ABI to 'aapcs-linux' for use with EABI." CT_ARCH_WITH_ABI="--with-abi=aapcs" - CT_ARCH_ABI_CFLAGS="-mabi=aapcs-linux" + CT_ARCH_ABI_CFLAG="-mabi=aapcs-linux" ;; *,y) CT_DoLog ERROR "ABI='${CT_ARCH_ABI}' not supported for EABI." Now, in fact (assuming this works) this code is still wrong, because we shouldn't be specifying CT_ARCH_ABI at all here -- we don't have *any* choice about the matter once we've selected ARM EABI! Certainly having made this change I'm getting the right -mabi-aapcs-linux flags passed to the various build stages, but the build is in progress. I'll make an update in an hour when the build is complete. -- 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] |