diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile index 9a9b6c38eff65282a72212d8e41650566abff75e..bc98120a51fe3abb16b0f66196ad03104b172696 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 705dfc306c4d578d0142f70fc610dc8ddb15858b..3c078df3c127c2fe680cfc9fa0fc3011d79df3d8 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 c258b4b55d128b2a819c8aa77a88da0251e024f7..1121ca1cc253f0d05eeacab26a7a54a663db072c 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 34b53e6903b6df055323ff50d9a0e96f206e65f4..ce2fe6773ed9308fc3054fce14988c16ad345488 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 5fe36d5f3c98f48be673090add7eafc234b4e489..4b990e04ef2467d564b27caa81b25816d6047fe0 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 f41d1b3c2aa2d70b9d636e19f4045852d271bdf0..749c38968ab1823cb403d2a063e7c73fad0a77a0 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 68e7e214bf2cf162decdc3f32141d22f0f6f84e9..c3c9f958c0b1dac5b6d9170bb09507870d8e491c 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 c785677fc8593f81cc5107f81839548b6b5a864a..aa06761ae35f9ac994487265e9cc13271cd7b77b 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 3ed7170b800cd1bee9c97ea8b4fd3385c2de507f..d48aa6dfd4ef886cdf5fd9f4341502d8c8963793 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 59931c25b5f72c8aac578e78c38586e8ebdb77cc..34ee6977d935dc48244c59c816c9a3fc3ef58117 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 d91ef7f0b50dfe7d891884110e9084fddaf9e472..010d874da6849c39602c2c746681307a6dd83f00 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 67d7e9e6cc00084923ff8961165133d025e1486d..fa5369fd0843db5d6c6737f04bf60a91e1edf87d 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 07b528c3d5db6bf685b4edb3ebcac1421bb0b70e..4de6515ef49d187038188573cc152eddabd40a69 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__