aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger2009-09-03 23:12:47 -0400
committerWolfgang Denk2009-09-04 23:06:34 +0200
commit262ae0a6193f10b6a94e86d2f752e7f5510416fa (patch)
tree0ba26d6a18242cc5b817ed5506b43372d0ebdf22
parent7662eb2b9d6fbc95ecb1fb3e5b5147215e251e7d (diff)
push LOAD_ADDR out to arch mk files
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>
-rw-r--r--examples/standalone/Makefile65
-rw-r--r--lib_arm/config.mk10
-rw-r--r--lib_avr32/config.mk2
-rw-r--r--lib_blackfin/config.mk2
-rw-r--r--lib_i386/config.mk2
-rw-r--r--lib_m68k/config.mk3
-rw-r--r--lib_microblaze/config.mk2
-rw-r--r--lib_mips/config.mk2
-rw-r--r--lib_nios/config.mk2
-rw-r--r--lib_nios2/config.mk2
-rw-r--r--lib_ppc/config.mk2
-rw-r--r--lib_sh/config.mk5
-rw-r--r--lib_sparc/config.mk2
13 files changed, 37 insertions, 64 deletions
diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile
index 9a9b6c38eff..bc98120a51f 100644
--- a/examples/standalone/Makefile
+++ b/examples/standalone/Makefile
@@ -21,65 +21,6 @@
# 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
diff --git a/lib_arm/config.mk b/lib_arm/config.mk
index 705dfc306c4..3c078df3c12 100644
--- a/lib_arm/config.mk
+++ b/lib_arm/config.mk
@@ -23,6 +23,16 @@
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:
diff --git a/lib_avr32/config.mk b/lib_avr32/config.mk
index c258b4b55d1..1121ca1cc25 100644
--- a/lib_avr32/config.mk
+++ b/lib_avr32/config.mk
@@ -23,5 +23,7 @@
CROSS_COMPILE ?= avr32-linux-
+STANDALONE_LOAD_ADDR = 0x00000000
+
PLATFORM_RELFLAGS += -ffixed-r5 -fPIC -mno-init-got -mrelax
PLATFORM_LDFLAGS += --relax
diff --git a/lib_blackfin/config.mk b/lib_blackfin/config.mk
index 34b53e6903b..ce2fe6773ed 100644
--- a/lib_blackfin/config.mk
+++ b/lib_blackfin/config.mk
@@ -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)))
diff --git a/lib_i386/config.mk b/lib_i386/config.mk
index 5fe36d5f3c9..4b990e04ef2 100644
--- a/lib_i386/config.mk
+++ b/lib_i386/config.mk
@@ -23,4 +23,6 @@
CROSS_COMPILE ?= i386-linux-
+STANDALONE_LOAD_ADDR = 0x40000
+
PLATFORM_CPPFLAGS += -DCONFIG_I386 -D__I386__
diff --git a/lib_m68k/config.mk b/lib_m68k/config.mk
index f41d1b3c2aa..749c38968ab 100644
--- a/lib_m68k/config.mk
+++ b/lib_m68k/config.mk
@@ -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
diff --git a/lib_microblaze/config.mk b/lib_microblaze/config.mk
index 68e7e214bf2..c3c9f958c0b 100644
--- a/lib_microblaze/config.mk
+++ b/lib_microblaze/config.mk
@@ -26,4 +26,6 @@
CROSS_COMPILE ?= mb-
+STANDALONE_LOAD_ADDR = 0x80F00000
+
PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
diff --git a/lib_mips/config.mk b/lib_mips/config.mk
index c785677fc85..aa06761ae35 100644
--- a/lib_mips/config.mk
+++ b/lib_mips/config.mk
@@ -23,6 +23,8 @@
CROSS_COMPILE ?= mips_4KC-
+STANDALONE_LOAD_ADDR = 0x80200000 -T mips.lds
+
PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
#
diff --git a/lib_nios/config.mk b/lib_nios/config.mk
index 3ed7170b800..d48aa6dfd4e 100644
--- a/lib_nios/config.mk
+++ b/lib_nios/config.mk
@@ -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
diff --git a/lib_nios2/config.mk b/lib_nios2/config.mk
index 59931c25b5f..34ee6977d93 100644
--- a/lib_nios2/config.mk
+++ b/lib_nios2/config.mk
@@ -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
diff --git a/lib_ppc/config.mk b/lib_ppc/config.mk
index d91ef7f0b50..010d874da68 100644
--- a/lib_ppc/config.mk
+++ b/lib_ppc/config.mk
@@ -23,6 +23,8 @@
CROSS_COMPILE ?= ppc_8xx-
+STANDALONE_LOAD_ADDR = 0x40000
+
PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__
PLATFORM_LDFLAGS += -n
diff --git a/lib_sh/config.mk b/lib_sh/config.mk
index 67d7e9e6cc0..fa5369fd084 100644
--- a/lib_sh/config.mk
+++ b/lib_sh/config.mk
@@ -23,6 +23,11 @@
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)
diff --git a/lib_sparc/config.mk b/lib_sparc/config.mk
index 07b528c3d5d..4de6515ef49 100644
--- a/lib_sparc/config.mk
+++ b/lib_sparc/config.mk
@@ -23,4 +23,6 @@
CROSS_COMPILE ?= sparc-elf-
+STANDALONE_LOAD_ADDR = 0x00000000 -L $(gcclibdir) -T sparc.lds
+
PLATFORM_CPPFLAGS += -DCONFIG_SPARC -D__sparc__