what exactly is a "patch," anyway?

Michael N. Moran mike@mnmoran.org
Mon Sep 12 11:24:00 GMT 2005

Dan Kegel wrote:
> Michael N. Moran wrote:
>> # armv5b-softfloat-linux-gcc -malignment-traps -mapcs-32 -c a.c
>> cc1: error: invalid option 'alignment-traps'
>> cc1: error: invalid option 'apcs-32'
> Googling for the error message brings up three hits.  One of them is
> http://marc.theaimsgroup.com/?l=linux-arm-kernel&m=110621577317150&w=2
> which says
>> Both -malignment-traps and -mapcs-32 options are no longer needed in
>> gcc-3.4.2 (and hence removed). You can either use a newer kernel
>> ... which fixes this or modify the arch/arm/Makefile file.

Errr.. some sort of blindness or tunnel vision caused me to see
only the latter course of action. I didn't notice that it had
been fixed in new versions. :O)

> It looks like 2.6.11 checks for the option being legal:
> http://lxr.linux.no/source/arch/arm/Makefile#L61
> says
> CFLAGS_ABI      :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
> cc-option is defined in Makefile as
> cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \
>              > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
> so it looks like they use -mapcs-32 if $CC doesn't barf on it,
> else they use -mabi=apcs-gnu.
> So which version of the kernel were you using?  Something earlier than 
> 2.6.11?

Yep. I am using the 3.2.0 of snapgear. In their tree, the kernel
directory is linux-2.6.x, but "uname -a" of the running kernel

Linux ADI-Coyote 2.6.9-uc0 #22 Sun Sep 11 14:51:27 EDT 2005 armv5teb unknown

BTW, I used the sanitized headers to build the toolchain,
so my memory of this problem came from the building of snapgear,
not during my use of crosstool (its all becoming "clear" to me ...
now ;-)

Michael N. Moran           (h) 770 516 7918
5009 Old Field Ct.         (c) 678 521 5460
Kennesaw, GA, USA 30144    http://mnmoran.org

"So often times it happens, that we live our lives in chains
  and we never even know we have the key."
The Eagles, "Already Gone"

The Beatles were wrong: 1 & 1 & 1 is 1

Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com

More information about the crossgcc mailing list