M7350/oe-core/meta/recipes-bsp/u-boot/u-boot-mkimage/0002-config.mk-move-LDSCRIPT-processing-to-the-top-level-.patch

83 lines
2.4 KiB
Diff
Raw Normal View History

2024-09-09 08:52:07 +00:00
From fd1b50c5ff9c288040abf5e78815151327d32e0e Mon Sep 17 00:00:00 2001
From: Ilya Yanok <yanok@emcraft.com>
Date: Mon, 20 Jun 2011 12:45:37 +0000
Subject: config.mk: move LDSCRIPT processing to the top-level Makefile
Upstream-Status: Accepted
LDSCRIPT is used only from the top-level Makefile and only when the
system is configured so we can move LDSCRIPT and CONFIG_SYS_LDSCRIPT
related logic into the top level Makefile and under configured condition
to avoid errors when building tools from unconfigured tree.
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
---
Makefile | 30 ++++++++++++++++++++++++++++++
config.mk | 8 --------
2 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/Makefile b/Makefile
index ece91ab..358c410 100644
--- a/Makefile
+++ b/Makefile
@@ -163,6 +163,36 @@ endif
# load other configuration
include $(TOPDIR)/config.mk
+# If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use
+# that (or fail if absent). Otherwise, search for a linker script in a
+# standard location.
+
+ifndef LDSCRIPT
+ #LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
+ ifdef CONFIG_SYS_LDSCRIPT
+ # need to strip off double quotes
+ LDSCRIPT := $(subst ",,$(CONFIG_SYS_LDSCRIPT))
+ endif
+endif
+
+ifndef LDSCRIPT
+ ifeq ($(CONFIG_NAND_U_BOOT),y)
+ LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds
+ ifeq ($(wildcard $(LDSCRIPT)),)
+ LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot-nand.lds
+ endif
+ endif
+ ifeq ($(wildcard $(LDSCRIPT)),)
+ LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
+ endif
+ ifeq ($(wildcard $(LDSCRIPT)),)
+ LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot.lds
+ endif
+ ifeq ($(wildcard $(LDSCRIPT)),)
+$(error could not find linker script)
+ endif
+endif
+
#########################################################################
# U-Boot objects....order is important (i.e. start must be first)
diff --git a/config.mk b/config.mk
index fa46ff1..59c4c93 100644
--- a/config.mk
+++ b/config.mk
@@ -153,14 +153,6 @@ endif
RELFLAGS= $(PLATFORM_RELFLAGS)
DBGFLAGS= -g # -DDEBUG
OPTFLAGS= -Os #-fomit-frame-pointer
-ifndef LDSCRIPT
-#LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
-ifeq ($(CONFIG_NAND_U_BOOT),y)
-LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds
-else
-LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
-endif
-endif
OBJCFLAGS += --gap-fill=0xff
gccincdir := $(shell $(CC) -print-file-name=include)
--
1.7.5.4