]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
push LOAD_ADDR out to arch mk files
authorMike Frysinger <vapier@gentoo.org>
Fri, 4 Sep 2009 03:12:47 +0000 (23:12 -0400)
committerTom Rix <Tom.Rix@windriver.com>
Sat, 3 Oct 2009 14:04:14 +0000 (09:04 -0500)
Rather than maintain/extend the current ifeq($(ARCH)) mess that exists in
the standalone Makefile, push the setting up of LOAD_ADDR out to the arch
config.mk (and rename to STANDALONE_LOAD_ADDR in the process).  This keeps
the common code clean and lets the arch do whatever crazy crap it wants in
its own area.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 files changed:
examples/standalone/Makefile
lib_arm/config.mk
lib_avr32/config.mk
lib_blackfin/config.mk
lib_i386/config.mk
lib_m68k/config.mk
lib_microblaze/config.mk
lib_mips/config.mk
lib_nios/config.mk
lib_nios2/config.mk
lib_ppc/config.mk
lib_sh/config.mk
lib_sparc/config.mk

index 9a9b6c38eff65282a72212d8e41650566abff75e..bc98120a51fe3abb16b0f66196ad03104b172696 100644 (file)
 # MA 02111-1307 USA
 #
 
-ifeq ($(ARCH),ppc)
-LOAD_ADDR = 0x40000
-endif
-
-ifeq ($(ARCH),i386)
-LOAD_ADDR = 0x40000
-endif
-
-ifeq ($(ARCH),arm)
-ifeq ($(BOARD),omap2420h4)
-LOAD_ADDR = 0x80300000
-else
-ifeq ($(SOC),omap3)
-LOAD_ADDR = 0x80300000
-else
-LOAD_ADDR = 0xc100000
-endif
-endif
-endif
-
-ifeq ($(ARCH),mips)
-LOAD_ADDR = 0x80200000 -T mips.lds
-endif
-
-ifeq ($(ARCH),nios)
-LOAD_ADDR = 0x00800000 -L $(gcclibdir)/m32 -T nios.lds
-endif
-
-ifeq ($(ARCH),nios2)
-LOAD_ADDR = 0x02000000 -L $(gcclibdir) -T nios2.lds
-endif
-
-ifeq ($(ARCH),m68k)
-LOAD_ADDR = 0x20000  -L $(clibdir)
-endif
-
-ifeq ($(ARCH),microblaze)
-LOAD_ADDR = 0x80F00000
-endif
-
-ifeq ($(ARCH),blackfin)
-LOAD_ADDR = 0x1000
-endif
-
-ifeq ($(ARCH),avr32)
-LOAD_ADDR = 0x00000000
-endif
-
-ifeq ($(ARCH),sh)
-LOAD_ADDR = 0x8C000000
-ifeq ($(CPU),sh2)
-BIG_ENDIAN=y
-endif
-endif
-
-ifeq ($(ARCH),sparc)
-LOAD_ADDR = 0x00000000 -L $(gcclibdir) -T sparc.lds
-endif
-
 include $(TOPDIR)/config.mk
 
 ELF    = hello_world
@@ -143,9 +84,6 @@ SREC += eepro100_eeprom.srec
 BIN    += eepro100_eeprom.bin
 endif
 
-ifeq ($(BIG_ENDIAN),y)
-EX_LDFLAGS += -EB
-endif
 
 COBJS  := $(SREC:.srec=.o)
 
@@ -168,7 +106,6 @@ BIN := $(addprefix $(obj),$(BIN))
 SREC   := $(addprefix $(obj),$(SREC))
 
 gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
-clibdir := $(shell dirname `$(CC) $(CFLAGS) -print-file-name=libc.a`)
 
 CPPFLAGS += -I..
 
@@ -180,7 +117,7 @@ $(LIB):     $(obj).depend $(LIBOBJS)
 
 $(ELF):
 $(obj)%:       $(obj)%.o $(LIB)
-               $(LD) -g $(EX_LDFLAGS) -Ttext $(LOAD_ADDR) \
+               $(LD) -g -Ttext $(STANDALONE_LOAD_ADDR) \
                        -o $@ -e $(SYM_PREFIX)$(notdir $(<:.o=)) $< $(LIB) \
                        -L$(gcclibdir) -lgcc
 
index 705dfc306c4d578d0142f70fc610dc8ddb15858b..3c078df3c127c2fe680cfc9fa0fc3011d79df3d8 100644 (file)
 
 CROSS_COMPILE ?= arm-linux-
 
+ifeq ($(BOARD),omap2420h4)
+STANDALONE_LOAD_ADDR = 0x80300000
+else
+ifeq ($(SOC),omap3)
+STANDALONE_LOAD_ADDR = 0x80300000
+else
+STANDALONE_LOAD_ADDR = 0xc100000
+endif
+endif
+
 PLATFORM_CPPFLAGS += -DCONFIG_ARM -D__ARM__
 
 # Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb:
index c258b4b55d128b2a819c8aa77a88da0251e024f7..1121ca1cc253f0d05eeacab26a7a54a663db072c 100644 (file)
@@ -23,5 +23,7 @@
 
 CROSS_COMPILE ?= avr32-linux-
 
+STANDALONE_LOAD_ADDR = 0x00000000
+
 PLATFORM_RELFLAGS      += -ffixed-r5 -fPIC -mno-init-got -mrelax
 PLATFORM_LDFLAGS       += --relax
index 34b53e6903b6df055323ff50d9a0e96f206e65f4..ce2fe6773ed9308fc3054fce14988c16ad345488 100644 (file)
@@ -23,6 +23,8 @@
 
 CROSS_COMPILE ?= bfin-uclinux-
 
+STANDALONE_LOAD_ADDR = 0x1000
+
 CONFIG_BFIN_CPU := $(strip $(subst ",,$(CONFIG_BFIN_CPU)))
 CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE)))
 CONFIG_ENV_OFFSET := $(strip $(subst ",,$(CONFIG_ENV_OFFSET)))
index 5fe36d5f3c98f48be673090add7eafc234b4e489..4b990e04ef2467d564b27caa81b25816d6047fe0 100644 (file)
@@ -23,4 +23,6 @@
 
 CROSS_COMPILE ?= i386-linux-
 
+STANDALONE_LOAD_ADDR = 0x40000
+
 PLATFORM_CPPFLAGS += -DCONFIG_I386 -D__I386__
index f41d1b3c2aa2d70b9d636e19f4045852d271bdf0..749c38968ab1823cb403d2a063e7c73fad0a77a0 100644 (file)
@@ -23,5 +23,8 @@
 
 CROSS_COMPILE ?= m68k-elf-
 
+clibdir = $(shell dirname `$(CC) $(CFLAGS) -print-file-name=libc.a`)
+STANDALONE_LOAD_ADDR = 0x20000 -L $(clibdir)
+
 PLATFORM_CPPFLAGS += -DCONFIG_M68K -D__M68K__
 PLATFORM_LDFLAGS  += -n
index 68e7e214bf2cf162decdc3f32141d22f0f6f84e9..c3c9f958c0b1dac5b6d9170bb09507870d8e491c 100644 (file)
@@ -26,4 +26,6 @@
 
 CROSS_COMPILE ?= mb-
 
+STANDALONE_LOAD_ADDR = 0x80F00000
+
 PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
index c785677fc8593f81cc5107f81839548b6b5a864a..aa06761ae35f9ac994487265e9cc13271cd7b77b 100644 (file)
@@ -23,6 +23,8 @@
 
 CROSS_COMPILE ?= mips_4KC-
 
+STANDALONE_LOAD_ADDR = 0x80200000 -T mips.lds
+
 PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
 
 #
index 3ed7170b800cd1bee9c97ea8b4fd3385c2de507f..d48aa6dfd4ef886cdf5fd9f4341502d8c8963793 100644 (file)
@@ -24,4 +24,6 @@
 
 CROSS_COMPILE ?= nios-elf-
 
+STANDALONE_LOAD_ADDR = 0x00800000 -L $(gcclibdir)/m32 -T nios.lds
+
 PLATFORM_CPPFLAGS += -m32 -DCONFIG_NIOS -D__NIOS__ -ffixed-g7 -gstabs
index 59931c25b5f72c8aac578e78c38586e8ebdb77cc..34ee6977d935dc48244c59c816c9a3fc3ef58117 100644 (file)
@@ -24,5 +24,7 @@
 
 CROSS_COMPILE ?= nios2-elf-
 
+STANDALONE_LOAD_ADDR = 0x02000000 -L $(gcclibdir) -T nios2.lds
+
 PLATFORM_CPPFLAGS += -DCONFIG_NIOS2 -D__NIOS2__
 PLATFORM_CPPFLAGS += -ffixed-r15 -G0
index d91ef7f0b50dfe7d891884110e9084fddaf9e472..010d874da6849c39602c2c746681307a6dd83f00 100644 (file)
@@ -23,6 +23,8 @@
 
 CROSS_COMPILE ?= ppc_8xx-
 
+STANDALONE_LOAD_ADDR = 0x40000
+
 PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__
 PLATFORM_LDFLAGS  += -n
 
index 67d7e9e6cc00084923ff8961165133d025e1486d..fa5369fd0843db5d6c6737f04bf60a91e1edf87d 100644 (file)
 
 CROSS_COMPILE ?= sh4-linux-
 
+STANDALONE_LOAD_ADDR = 0x8C000000
+ifeq ($(CPU),sh2)
+STANDALONE_LOAD_ADDR += -EB
+endif
+
 PLATFORM_CPPFLAGS += -DCONFIG_SH -D__SH__
 PLATFORM_LDFLAGS += -e $(TEXT_BASE) --defsym reloc_dst=$(TEXT_BASE)
 
index 07b528c3d5db6bf685b4edb3ebcac1421bb0b70e..4de6515ef49d187038188573cc152eddabd40a69 100644 (file)
@@ -23,4 +23,6 @@
 
 CROSS_COMPILE ?= sparc-elf-
 
+STANDALONE_LOAD_ADDR = 0x00000000 -L $(gcclibdir) -T sparc.lds
+
 PLATFORM_CPPFLAGS += -DCONFIG_SPARC -D__sparc__