diff options
author | Wolfgang Denk <wd@pollux.denx.de> | 2005-10-04 20:38:24 (GMT) |
---|---|---|
committer | Wolfgang Denk <wd@pollux.denx.de> | 2005-10-04 20:38:24 (GMT) |
commit | 1820d4c73b78ebe5d08921b0b6249c6f72e45215 (patch) | |
tree | a09e00683cd1636369c05556a94f14643a78f7e4 | |
parent | 9a8d82fd3c7822effe3226f97f9ef1f643498c89 (diff) | |
download | u-boot-1820d4c73b78ebe5d08921b0b6249c6f72e45215.tar.xz |
Make sure only supported compiler options are used
Import "cc-option" shell function from kernel and
use it to get the correct ARM GCC options for individual CPUs
Patch by Peter Pearse, 30 Jun 2005
-rw-r--r-- | CHANGELOG | 5 | ||||
-rw-r--r-- | config.mk | 6 | ||||
-rw-r--r-- | cpu/arm1136/config.mk | 11 | ||||
-rw-r--r-- | cpu/arm720t/config.mk | 12 | ||||
-rw-r--r-- | cpu/arm920t/config.mk | 12 | ||||
-rw-r--r-- | cpu/arm925t/config.mk | 12 | ||||
-rw-r--r-- | cpu/arm926ejs/config.mk | 12 | ||||
-rw-r--r-- | cpu/ixp/config.mk | 12 | ||||
-rw-r--r-- | cpu/lh7a40x/config.mk | 12 | ||||
-rw-r--r-- | cpu/pxa/config.mk | 12 | ||||
-rw-r--r-- | cpu/s3c44b0/config.mk | 12 | ||||
-rw-r--r-- | cpu/sa1100/config.mk | 12 |
12 files changed, 111 insertions, 19 deletions
@@ -2,6 +2,11 @@ Changes for U-Boot 1.1.4: ====================================================================== +* Make sure only supported compiler options are used + Import "cc-option" shell function from kernel and + use it to get the correct ARM GCC options for individual CPUs + Patch by Peter Pearse, 30 Jun 2005 + * Fix 440GR to print correct cpu revision Patch by Stefan Roese, 4 Oct 2005 @@ -86,6 +86,12 @@ HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer HOSTSTRIP = strip ######################################################################### +# +# Option checker (courtesy linux kernel) to ensure +# only supported compiler options are used +# +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 ;) # # Include the make variables (CC, etc...) diff --git a/cpu/arm1136/config.mk b/cpu/arm1136/config.mk index ca9dc25..cbcf92b 100644 --- a/cpu/arm1136/config.mk +++ b/cpu/arm1136/config.mk @@ -21,6 +21,15 @@ # MA 02111-1307 USA # PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ + -msoft-float # Make ARMv5 to allow more compilers to work, even though its v6. -PLATFORM_CPPFLAGS += -mapcs-32 -march=armv5 +PLATFORM_CPPFLAGS += -march=armv5 +# ========================================================================= +# +# Supply options according to compiler version +# +# ========================================================================= +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) + diff --git a/cpu/arm720t/config.mk b/cpu/arm720t/config.mk index 2d79709..e5dce9d 100644 --- a/cpu/arm720t/config.mk +++ b/cpu/arm720t/config.mk @@ -23,6 +23,14 @@ # PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ - -mshort-load-bytes -msoft-float + -msoft-float + +PLATFORM_CPPFLAGS += -march=armv4 -mtune=arm7tdmi +# ========================================================================= +# +# Supply options according to compiler version +# +# ========================================================================= +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 -mtune=arm7tdmi diff --git a/cpu/arm920t/config.mk b/cpu/arm920t/config.mk index cef7d26..3c7a279 100644 --- a/cpu/arm920t/config.mk +++ b/cpu/arm920t/config.mk @@ -22,6 +22,14 @@ # PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ - -mshort-load-bytes -msoft-float + -msoft-float + +PLATFORM_CPPFLAGS += -march=armv4 +# ========================================================================= +# +# Supply options according to compiler version +# +# ========================================================================= +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 diff --git a/cpu/arm925t/config.mk b/cpu/arm925t/config.mk index cef7d26..3c7a279 100644 --- a/cpu/arm925t/config.mk +++ b/cpu/arm925t/config.mk @@ -22,6 +22,14 @@ # PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ - -mshort-load-bytes -msoft-float + -msoft-float + +PLATFORM_CPPFLAGS += -march=armv4 +# ========================================================================= +# +# Supply options according to compiler version +# +# ========================================================================= +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 diff --git a/cpu/arm926ejs/config.mk b/cpu/arm926ejs/config.mk index cef7d26..3c7a279 100644 --- a/cpu/arm926ejs/config.mk +++ b/cpu/arm926ejs/config.mk @@ -22,6 +22,14 @@ # PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ - -mshort-load-bytes -msoft-float + -msoft-float + +PLATFORM_CPPFLAGS += -march=armv4 +# ========================================================================= +# +# Supply options according to compiler version +# +# ========================================================================= +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 diff --git a/cpu/ixp/config.mk b/cpu/ixp/config.mk index 667adfc..2f735c5 100644 --- a/cpu/ixp/config.mk +++ b/cpu/ixp/config.mk @@ -25,6 +25,14 @@ BIG_ENDIAN = y PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ - -mshort-load-bytes -msoft-float -mbig-endian + -msoft-float -mbig-endian + +PLATFORM_CPPFLAGS += -mbig-endian -march=armv4 -mtune=strongarm1100 +# ========================================================================= +# +# Supply options according to compiler version +# +# ========================================================================= +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -PLATFORM_CPPFLAGS += -mbig-endian -mapcs-32 -march=armv4 -mtune=strongarm1100 diff --git a/cpu/lh7a40x/config.mk b/cpu/lh7a40x/config.mk index cef7d26..5062ba2 100644 --- a/cpu/lh7a40x/config.mk +++ b/cpu/lh7a40x/config.mk @@ -22,6 +22,14 @@ # PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ - -mshort-load-bytes -msoft-float + -msoft-float + +PLATFORM_CPPFLAGS += -march=armv4 +# ========================================================================= +# +# Supply options according to compiler version +# +# ======================================================================== +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 diff --git a/cpu/pxa/config.mk b/cpu/pxa/config.mk index 6030c49..0e38698 100644 --- a/cpu/pxa/config.mk +++ b/cpu/pxa/config.mk @@ -23,7 +23,15 @@ # PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ - -mshort-load-bytes -msoft-float + -msoft-float #PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 -mtune=strongarm1100 -PLATFORM_CPPFLAGS += -mapcs-32 -march=armv5 -mtune=xscale +PLATFORM_CPPFLAGS += -march=armv5 -mtune=xscale +# ========================================================================= +# +# Supply options according to compiler version +# +# ======================================================================== +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) + diff --git a/cpu/s3c44b0/config.mk b/cpu/s3c44b0/config.mk index a1c5dd1..0052ba4 100644 --- a/cpu/s3c44b0/config.mk +++ b/cpu/s3c44b0/config.mk @@ -23,6 +23,14 @@ # PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ - -mshort-load-bytes -msoft-float + -msoft-float + +PLATFORM_CPPFLAGS += -march=armv4 -mtune=arm7tdmi -msoft-float +# ========================================================================= +# +# Supply options according to compiler version +# +# ======================================================================== +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 -mtune=arm7tdmi -msoft-float diff --git a/cpu/sa1100/config.mk b/cpu/sa1100/config.mk index c40dcf8..3bed850 100644 --- a/cpu/sa1100/config.mk +++ b/cpu/sa1100/config.mk @@ -23,6 +23,14 @@ # PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ - -mshort-load-bytes -msoft-float + -msoft-float + +PLATFORM_CPPFLAGS += -march=armv4 -mtune=strongarm1100 +# ========================================================================= +# +# Supply options according to compiler version +# +# ======================================================================== +PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 -mtune=strongarm1100 |