diff options
author | Mike Frysinger | 2009-09-03 23:12:47 -0400 |
---|---|---|
committer | Wolfgang Denk | 2009-09-04 23:06:34 +0200 |
commit | 262ae0a6193f10b6a94e86d2f752e7f5510416fa (patch) | |
tree | 0ba26d6a18242cc5b817ed5506b43372d0ebdf22 | |
parent | 7662eb2b9d6fbc95ecb1fb3e5b5147215e251e7d (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/Makefile | 65 | ||||
-rw-r--r-- | lib_arm/config.mk | 10 | ||||
-rw-r--r-- | lib_avr32/config.mk | 2 | ||||
-rw-r--r-- | lib_blackfin/config.mk | 2 | ||||
-rw-r--r-- | lib_i386/config.mk | 2 | ||||
-rw-r--r-- | lib_m68k/config.mk | 3 | ||||
-rw-r--r-- | lib_microblaze/config.mk | 2 | ||||
-rw-r--r-- | lib_mips/config.mk | 2 | ||||
-rw-r--r-- | lib_nios/config.mk | 2 | ||||
-rw-r--r-- | lib_nios2/config.mk | 2 | ||||
-rw-r--r-- | lib_ppc/config.mk | 2 | ||||
-rw-r--r-- | lib_sh/config.mk | 5 | ||||
-rw-r--r-- | lib_sparc/config.mk | 2 |
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__ |