[U-Boot] [PATCH] Blackfin: unify u-boot linker scripts
Mike Frysinger
vapier at gentoo.org
Sun Jun 14 13:07:08 CEST 2009
All the Blackfin linker scripts were duplicated across the board dirs with
no difference save from the semi-often used ENV_IS_EMBEDDED option. So
unify all of them in the lib_blackfin/ dir and for the few boards that
need to embedded the environment directly, add a LDS_BOARD_TEXT define for
them to customize via their board config file. This is much simpler than
forcing them to duplicate the rest of the linker script.
Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
note: i've filtered the deleted u-boot.lds.S files from the diff because
that takes the output from ~40k to ~120k, and it's just useless noise here.
you can see in the diffstat all the linker scripts that were punted.
Makefile | 6 +-
blackfin_config.mk | 4 +
board/bf518f-ezbrd/.gitignore | 1 -
board/bf518f-ezbrd/Makefile | 5 +-
board/bf518f-ezbrd/config.mk | 2 -
board/bf518f-ezbrd/u-boot.lds.S | 124 ------------------------------
board/bf526-ezbrd/.gitignore | 1 -
board/bf526-ezbrd/Makefile | 5 +-
board/bf526-ezbrd/config.mk | 2 -
board/bf526-ezbrd/u-boot.lds.S | 124 ------------------------------
board/bf527-ezkit/.gitignore | 1 -
board/bf527-ezkit/Makefile | 5 +-
board/bf527-ezkit/config.mk | 2 -
board/bf527-ezkit/u-boot.lds.S | 124 ------------------------------
board/bf533-ezkit/.gitignore | 1 -
board/bf533-ezkit/Makefile | 5 +-
board/bf533-ezkit/config.mk | 2 -
board/bf533-ezkit/u-boot.lds.S | 145 -----------------------------------
board/bf533-stamp/.gitignore | 1 -
board/bf533-stamp/Makefile | 5 +-
board/bf533-stamp/config.mk | 2 -
board/bf533-stamp/u-boot.lds.S | 143 ----------------------------------
board/bf537-minotaur/.gitignore | 1 -
board/bf537-minotaur/Makefile | 5 +-
board/bf537-minotaur/config.mk | 2 -
board/bf537-minotaur/u-boot.lds.S | 143 ----------------------------------
board/bf537-pnav/.gitignore | 1 -
board/bf537-pnav/Makefile | 5 +-
board/bf537-pnav/config.mk | 2 -
board/bf537-pnav/u-boot.lds.S | 143 ----------------------------------
board/bf537-srv1/.gitignore | 1 -
board/bf537-srv1/Makefile | 5 +-
board/bf537-srv1/config.mk | 2 -
board/bf537-srv1/u-boot.lds.S | 143 ----------------------------------
board/bf537-stamp/.gitignore | 1 -
board/bf537-stamp/Makefile | 5 +-
board/bf537-stamp/config.mk | 2 -
board/bf537-stamp/u-boot.lds.S | 143 ----------------------------------
board/bf538f-ezkit/.gitignore | 1 -
board/bf538f-ezkit/Makefile | 5 +-
board/bf538f-ezkit/config.mk | 2 -
board/bf538f-ezkit/u-boot.lds.S | 143 ----------------------------------
board/bf548-ezkit/.gitignore | 1 -
board/bf548-ezkit/Makefile | 5 +-
board/bf548-ezkit/config.mk | 2 -
board/bf548-ezkit/u-boot.lds.S | 124 ------------------------------
board/bf561-ezkit/.gitignore | 1 -
board/bf561-ezkit/Makefile | 5 +-
board/bf561-ezkit/config.mk | 2 -
board/bf561-ezkit/u-boot.lds.S | 152 -------------------------------------
board/blackstamp/.gitignore | 1 -
board/blackstamp/Makefile | 5 +-
board/blackstamp/config.mk | 2 -
board/blackstamp/u-boot.lds.S | 143 ----------------------------------
board/cm-bf527/.gitignore | 1 -
board/cm-bf527/Makefile | 5 +-
board/cm-bf527/config.mk | 2 -
board/cm-bf527/u-boot.lds.S | 124 ------------------------------
board/cm-bf533/.gitignore | 1 -
board/cm-bf533/Makefile | 5 +-
board/cm-bf533/config.mk | 2 -
board/cm-bf533/u-boot.lds.S | 143 ----------------------------------
board/cm-bf537e/.gitignore | 1 -
board/cm-bf537e/Makefile | 5 +-
board/cm-bf537e/config.mk | 2 -
board/cm-bf537e/u-boot.lds.S | 143 ----------------------------------
board/cm-bf548/.gitignore | 1 -
board/cm-bf548/Makefile | 5 +-
board/cm-bf548/config.mk | 2 -
board/cm-bf548/u-boot.lds.S | 124 ------------------------------
board/cm-bf561/.gitignore | 1 -
board/cm-bf561/Makefile | 5 +-
board/cm-bf561/config.mk | 2 -
board/cm-bf561/u-boot.lds.S | 150 ------------------------------------
board/ibf-dsp561/.gitignore | 1 -
board/ibf-dsp561/Makefile | 5 +-
board/ibf-dsp561/config.mk | 2 -
board/ibf-dsp561/u-boot.lds.S | 152 -------------------------------------
board/tcm-bf537/.gitignore | 1 -
board/tcm-bf537/Makefile | 5 +-
board/tcm-bf537/config.mk | 2 -
board/tcm-bf537/u-boot.lds.S | 143 ----------------------------------
include/configs/bf533-stamp.h | 15 ++++
include/configs/bf537-pnav.h | 15 ++++
include/configs/bf537-stamp.h | 15 ++++
include/configs/bf538f-ezkit.h | 15 ++++
include/configs/bf561-ezkit.h | 17 ++++
include/configs/cm-bf537e.h | 15 ++++
include/configs/ibf-dsp561.h | 17 ++++
include/configs/tcm-bf537.h | 15 ++++
lib_blackfin/.gitignore | 1 +
lib_blackfin/Makefile | 5 +-
lib_blackfin/u-boot.lds.S | 132 ++++++++++++++++++++++++++++++++
93 files changed, 286 insertions(+), 2919 deletions(-)
delete mode 100644 board/bf518f-ezbrd/.gitignore
delete mode 100644 board/bf518f-ezbrd/u-boot.lds.S
delete mode 100644 board/bf526-ezbrd/.gitignore
delete mode 100644 board/bf526-ezbrd/u-boot.lds.S
delete mode 100644 board/bf527-ezkit/.gitignore
delete mode 100644 board/bf527-ezkit/u-boot.lds.S
delete mode 100644 board/bf533-ezkit/.gitignore
delete mode 100644 board/bf533-ezkit/u-boot.lds.S
delete mode 100644 board/bf533-stamp/.gitignore
delete mode 100644 board/bf533-stamp/u-boot.lds.S
delete mode 100644 board/bf537-minotaur/.gitignore
delete mode 100644 board/bf537-minotaur/u-boot.lds.S
delete mode 100644 board/bf537-pnav/.gitignore
delete mode 100644 board/bf537-pnav/u-boot.lds.S
delete mode 100644 board/bf537-srv1/.gitignore
delete mode 100644 board/bf537-srv1/u-boot.lds.S
delete mode 100644 board/bf537-stamp/.gitignore
delete mode 100644 board/bf537-stamp/u-boot.lds.S
delete mode 100644 board/bf538f-ezkit/.gitignore
delete mode 100644 board/bf538f-ezkit/u-boot.lds.S
delete mode 100644 board/bf548-ezkit/.gitignore
delete mode 100644 board/bf548-ezkit/u-boot.lds.S
delete mode 100644 board/bf561-ezkit/.gitignore
delete mode 100644 board/bf561-ezkit/u-boot.lds.S
delete mode 100644 board/blackstamp/.gitignore
delete mode 100644 board/blackstamp/u-boot.lds.S
delete mode 100644 board/cm-bf527/.gitignore
delete mode 100644 board/cm-bf527/u-boot.lds.S
delete mode 100644 board/cm-bf533/.gitignore
delete mode 100644 board/cm-bf533/u-boot.lds.S
delete mode 100644 board/cm-bf537e/.gitignore
delete mode 100644 board/cm-bf537e/u-boot.lds.S
delete mode 100644 board/cm-bf548/.gitignore
delete mode 100644 board/cm-bf548/u-boot.lds.S
delete mode 100644 board/cm-bf561/.gitignore
delete mode 100644 board/cm-bf561/u-boot.lds.S
delete mode 100644 board/ibf-dsp561/.gitignore
delete mode 100644 board/ibf-dsp561/u-boot.lds.S
delete mode 100644 board/tcm-bf537/.gitignore
delete mode 100644 board/tcm-bf537/u-boot.lds.S
create mode 100644 lib_blackfin/.gitignore
create mode 100644 lib_blackfin/u-boot.lds.S
diff --git a/Makefile b/Makefile
index 8fe6bd4..aa9cb8c 100644
--- a/Makefile
+++ b/Makefile
@@ -3562,11 +3562,7 @@ clean:
$(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin} \
$(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom \
$(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds \
- $(obj)board/bf5{18f,26,27,33,38f,48,61}-ez{brd,kit}/u-boot.lds \
- $(obj)board/bf5{33,37}-stamp/u-boot.lds \
- $(obj)board/{bf537-{minotaur,pnav,srv1},blackstamp}/u-boot.lds \
- $(obj)board/{,t}cm-bf5{27,33,37e,48,61}/u-boot.lds \
- $(obj)board/ibf-dsp561/u-boot.lds \
+ $(obj)lib_blackfin/u-boot.lds \
$(obj)cpu/blackfin/bootrom-asm-offsets.[chs]
@rm -f $(obj)include/bmp_logo.h
@rm -f $(obj)nand_spl/{u-boot-spl,u-boot-spl.map,System.map}
diff --git a/blackfin_config.mk b/blackfin_config.mk
index 00e3bfc..989e976 100644
--- a/blackfin_config.mk
+++ b/blackfin_config.mk
@@ -56,3 +56,7 @@ LDR_FLAGS += --quiet
endif
LDR_FLAGS += $(LDR_FLAGS-y)
+
+ifeq ($(wildcard $(TOPDIR)/board/$(BOARD)/u-boot.lds*),)
+LDSCRIPT = $(obj)lib_$(ARCH)/u-boot.lds
+endif
diff --git a/board/bf518f-ezbrd/Makefile b/board/bf518f-ezbrd/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf518f-ezbrd/Makefile
+++ b/board/bf518f-ezbrd/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf518f-ezbrd/config.mk b/board/bf518f-ezbrd/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/bf518f-ezbrd/config.mk
+++ b/board/bf518f-ezbrd/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf526-ezbrd/Makefile b/board/bf526-ezbrd/Makefile
index 88846ba..a9ff760 100644
--- a/board/bf526-ezbrd/Makefile
+++ b/board/bf526-ezbrd/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf526-ezbrd/config.mk b/board/bf526-ezbrd/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/bf526-ezbrd/config.mk
+++ b/board/bf526-ezbrd/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf527-ezkit/Makefile b/board/bf527-ezkit/Makefile
index c2b98ec..1a2f4b1 100644
--- a/board/bf527-ezkit/Makefile
+++ b/board/bf527-ezkit/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf527-ezkit/config.mk b/board/bf527-ezkit/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/bf527-ezkit/config.mk
+++ b/board/bf527-ezkit/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf533-ezkit/Makefile b/board/bf533-ezkit/Makefile
index 1260277..487b737 100644
--- a/board/bf533-ezkit/Makefile
+++ b/board/bf533-ezkit/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf533-ezkit/config.mk b/board/bf533-ezkit/config.mk
index c8b9fb8..9847924 100644
--- a/board/bf533-ezkit/config.mk
+++ b/board/bf533-ezkit/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf533-stamp/Makefile b/board/bf533-stamp/Makefile
index 0f52837..dbba12b 100644
--- a/board/bf533-stamp/Makefile
+++ b/board/bf533-stamp/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf533-stamp/config.mk b/board/bf533-stamp/config.mk
index c8b9fb8..9847924 100644
--- a/board/bf533-stamp/config.mk
+++ b/board/bf533-stamp/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf537-minotaur/Makefile b/board/bf537-minotaur/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf537-minotaur/Makefile
+++ b/board/bf537-minotaur/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf537-minotaur/config.mk b/board/bf537-minotaur/config.mk
index feafcef..d830843 100644
--- a/board/bf537-minotaur/config.mk
+++ b/board/bf537-minotaur/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_UART := --port g --gpio 6
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf537-pnav/Makefile b/board/bf537-pnav/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf537-pnav/Makefile
+++ b/board/bf537-pnav/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf537-pnav/config.mk b/board/bf537-pnav/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/bf537-pnav/config.mk
+++ b/board/bf537-pnav/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf537-srv1/Makefile b/board/bf537-srv1/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf537-srv1/Makefile
+++ b/board/bf537-srv1/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf537-srv1/config.mk b/board/bf537-srv1/config.mk
index feafcef..d830843 100644
--- a/board/bf537-srv1/config.mk
+++ b/board/bf537-srv1/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_UART := --port g --gpio 6
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf537-stamp/Makefile b/board/bf537-stamp/Makefile
index 1dbf406..4c9e015 100644
--- a/board/bf537-stamp/Makefile
+++ b/board/bf537-stamp/Makefile
@@ -39,12 +39,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf537-stamp/config.mk b/board/bf537-stamp/config.mk
index 719b97e..d9e884e 100644
--- a/board/bf537-stamp/config.mk
+++ b/board/bf537-stamp/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS-BFIN_BOOT_UART := --port g --gpio 6
diff --git a/board/bf538f-ezkit/Makefile b/board/bf538f-ezkit/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf538f-ezkit/Makefile
+++ b/board/bf538f-ezkit/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf538f-ezkit/config.mk b/board/bf538f-ezkit/config.mk
index c8b9fb8..9847924 100644
--- a/board/bf538f-ezkit/config.mk
+++ b/board/bf538f-ezkit/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf548-ezkit/Makefile b/board/bf548-ezkit/Makefile
index c2b98ec..1a2f4b1 100644
--- a/board/bf548-ezkit/Makefile
+++ b/board/bf548-ezkit/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf548-ezkit/config.mk b/board/bf548-ezkit/config.mk
index 8b471f6..95ab6b3 100644
--- a/board/bf548-ezkit/config.mk
+++ b/board/bf548-ezkit/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --dma 6
LDR_FLAGS-BFIN_BOOT_FIFO := --dma 1
diff --git a/board/bf561-ezkit/Makefile b/board/bf561-ezkit/Makefile
index daebb74..bfeaf79 100644
--- a/board/bf561-ezkit/Makefile
+++ b/board/bf561-ezkit/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf561-ezkit/config.mk b/board/bf561-ezkit/config.mk
index 710809a..77c888b 100644
--- a/board/bf561-ezkit/config.mk
+++ b/board/bf561-ezkit/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/blackstamp/Makefile b/board/blackstamp/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/blackstamp/Makefile
+++ b/board/blackstamp/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/blackstamp/config.mk b/board/blackstamp/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/blackstamp/config.mk
+++ b/board/blackstamp/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/cm-bf527/Makefile b/board/cm-bf527/Makefile
index 07d285e..c2cd244 100644
--- a/board/cm-bf527/Makefile
+++ b/board/cm-bf527/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf527/config.mk b/board/cm-bf527/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/cm-bf527/config.mk
+++ b/board/cm-bf527/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/cm-bf533/Makefile b/board/cm-bf533/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/cm-bf533/Makefile
+++ b/board/cm-bf533/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf533/config.mk b/board/cm-bf533/config.mk
index c8b9fb8..9847924 100644
--- a/board/cm-bf533/config.mk
+++ b/board/cm-bf533/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/cm-bf537e/Makefile b/board/cm-bf537e/Makefile
index f8c270e..3812ba1 100644
--- a/board/cm-bf537e/Makefile
+++ b/board/cm-bf537e/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf537e/config.mk b/board/cm-bf537e/config.mk
index c8b9fb8..9847924 100644
--- a/board/cm-bf537e/config.mk
+++ b/board/cm-bf537e/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/cm-bf548/Makefile b/board/cm-bf548/Makefile
index c2b98ec..1a2f4b1 100644
--- a/board/cm-bf548/Makefile
+++ b/board/cm-bf548/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf548/config.mk b/board/cm-bf548/config.mk
index 0dbce93..396f20a 100644
--- a/board/cm-bf548/config.mk
+++ b/board/cm-bf548/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --dma 6
LDR_FLAGS-BFIN_BOOT_FIFO := --dma 1
diff --git a/board/cm-bf561/Makefile b/board/cm-bf561/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/cm-bf561/Makefile
+++ b/board/cm-bf561/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf561/config.mk b/board/cm-bf561/config.mk
index 710809a..77c888b 100644
--- a/board/cm-bf561/config.mk
+++ b/board/cm-bf561/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/ibf-dsp561/Makefile b/board/ibf-dsp561/Makefile
index daebb74..bfeaf79 100644
--- a/board/ibf-dsp561/Makefile
+++ b/board/ibf-dsp561/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/ibf-dsp561/config.mk b/board/ibf-dsp561/config.mk
index 710809a..77c888b 100644
--- a/board/ibf-dsp561/config.mk
+++ b/board/ibf-dsp561/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/tcm-bf537/Makefile b/board/tcm-bf537/Makefile
index f8c270e..3812ba1 100644
--- a/board/tcm-bf537/Makefile
+++ b/board/tcm-bf537/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/tcm-bf537/config.mk b/board/tcm-bf537/config.mk
index c8b9fb8..9847924 100644
--- a/board/tcm-bf537/config.mk
+++ b/board/tcm-bf537/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/include/configs/bf533-stamp.h b/include/configs/bf533-stamp.h
index 242bf5a..579540e 100644
--- a/include/configs/bf533-stamp.h
+++ b/include/configs/bf533-stamp.h
@@ -117,6 +117,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/bf537-pnav.h b/include/configs/bf537-pnav.h
index c8a59ab..284c7fc 100644
--- a/include/configs/bf537-pnav.h
+++ b/include/configs/bf537-pnav.h
@@ -105,6 +105,21 @@
#endif
#define CONFIG_ENV_SIZE 0x1000
#define CONFIG_ENV_SECT_SIZE 0x2000
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/bf537-stamp.h b/include/configs/bf537-stamp.h
index a8c5b91..e883f2e 100644
--- a/include/configs/bf537-stamp.h
+++ b/include/configs/bf537-stamp.h
@@ -115,6 +115,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/bf538f-ezkit.h b/include/configs/bf538f-ezkit.h
index f719acc..91622e3 100644
--- a/include/configs/bf538f-ezkit.h
+++ b/include/configs/bf538f-ezkit.h
@@ -111,6 +111,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/bf561-ezkit.h b/include/configs/bf561-ezkit.h
index e7cfc8a..4779a97 100644
--- a/include/configs/bf561-ezkit.h
+++ b/include/configs/bf561-ezkit.h
@@ -88,6 +88,23 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ lib_generic/zlib.o (.text .text.*); \
+ board/bf561-ezkit/bf561-ezkit.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/cm-bf537e.h b/include/configs/cm-bf537e.h
index 65604ed..021b631 100644
--- a/include/configs/cm-bf537e.h
+++ b/include/configs/cm-bf537e.h
@@ -94,6 +94,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/ibf-dsp561.h b/include/configs/ibf-dsp561.h
index 7738742..066859f 100644
--- a/include/configs/ibf-dsp561.h
+++ b/include/configs/ibf-dsp561.h
@@ -77,6 +77,23 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ lib_generic/zlib.o (.text .text.*); \
+ board/ibf-dsp561/ibf-dsp561.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/tcm-bf537.h b/include/configs/tcm-bf537.h
index 31fe61a..9794e1b 100644
--- a/include/configs/tcm-bf537.h
+++ b/include/configs/tcm-bf537.h
@@ -95,6 +95,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/lib_blackfin/.gitignore b/lib_blackfin/.gitignore
new file mode 100644
index 0000000..09f1be0
--- /dev/null
+++ b/lib_blackfin/.gitignore
@@ -0,0 +1 @@
+u-boot.lds
diff --git a/lib_blackfin/Makefile b/lib_blackfin/Makefile
index 46ef7f3..e32ecc9 100644
--- a/lib_blackfin/Makefile
+++ b/lib_blackfin/Makefile
@@ -47,9 +47,12 @@ COBJS-y += string.o
SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
-$(LIB): $(obj).depend $(OBJS)
+$(LIB): $(obj).depend $(OBJS) $(obj)u-boot.lds
$(AR) $(ARFLAGS) $@ $(OBJS)
+$(obj)u-boot.lds: u-boot.lds.S
+ $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
+
#########################################################################
# defines $(obj).depend target
diff --git a/lib_blackfin/u-boot.lds.S b/lib_blackfin/u-boot.lds.S
new file mode 100644
index 0000000..4755153
--- /dev/null
+++ b/lib_blackfin/u-boot.lds.S
@@ -0,0 +1,132 @@
+/*
+ * U-boot - u-boot.lds.S
+ *
+ * Copyright (c) 2005-2009 Analog Device Inc.
+ *
+ * (C) Copyright 2000-2004
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <config.h>
+#include <asm/blackfin.h>
+#undef ALIGN
+#undef ENTRY
+#undef bfin
+
+#ifndef LDS_BOARD_TEXT
+# define LDS_BOARD_TEXT
+#endif
+
+/* If we don't actually load anything into L1 data, this will avoid
+ * a syntax error. If we do actually load something into L1 data,
+ * we'll get a linker memory load error (which is what we'd want).
+ * This is here in the first place so we can quickly test building
+ * for different CPU's which may lack non-cache L1 data.
+ */
+#ifndef L1_DATA_B_SRAM
+# define L1_DATA_B_SRAM CONFIG_SYS_MONITOR_BASE
+# define L1_DATA_B_SRAM_SIZE 0
+#endif
+
+OUTPUT_ARCH(bfin)
+
+MEMORY
+{
+ ram : ORIGIN = CONFIG_SYS_MONITOR_BASE, LENGTH = CONFIG_SYS_MONITOR_LEN
+ l1_code : ORIGIN = L1_INST_SRAM, LENGTH = L1_INST_SRAM_SIZE
+ l1_data : ORIGIN = L1_DATA_B_SRAM, LENGTH = L1_DATA_B_SRAM_SIZE
+}
+
+ENTRY(_start)
+SECTIONS
+{
+ .text :
+ {
+ cpu/blackfin/start.o (.text .text.*)
+
+ LDS_BOARD_TEXT
+
+ __initcode_start = .;
+ cpu/blackfin/initcode.o (.text .text.*)
+ __initcode_end = .;
+
+ *(.text .text.*)
+ } >ram
+
+ .rodata :
+ {
+ . = ALIGN(4);
+ *(.rodata .rodata.*)
+ *(.rodata1)
+ *(.eh_frame)
+ . = ALIGN(4);
+ } >ram
+
+ .data :
+ {
+ . = ALIGN(256);
+ *(.data .data.*)
+ *(.data1)
+ *(.sdata)
+ *(.sdata2)
+ *(.dynamic)
+ CONSTRUCTORS
+ } >ram
+
+ .u_boot_cmd :
+ {
+ ___u_boot_cmd_start = .;
+ *(.u_boot_cmd)
+ ___u_boot_cmd_end = .;
+ } >ram
+
+ .text_l1 :
+ {
+ . = ALIGN(4);
+ __stext_l1 = .;
+ *(.l1.text)
+ . = ALIGN(4);
+ __etext_l1 = .;
+ } >l1_code AT>ram
+ __stext_l1_lma = LOADADDR(.text_l1);
+
+ .data_l1 :
+ {
+ . = ALIGN(4);
+ __sdata_l1 = .;
+ *(.l1.data)
+ *(.l1.bss)
+ . = ALIGN(4);
+ __edata_l1 = .;
+ } >l1_data AT>ram
+ __sdata_l1_lma = LOADADDR(.data_l1);
+
+ .bss :
+ {
+ . = ALIGN(4);
+ __bss_start = .;
+ *(.sbss) *(.scommon)
+ *(.dynbss)
+ *(.bss .bss.*)
+ *(COMMON)
+ __bss_end = .;
+ } >ram
+}
--
1.6.3.1
More information about the U-Boot
mailing list