aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew F. Davis <afd@ti.com>2017-10-10 15:05:11 -0500
committerJérôme Forissier <jerome.forissier@linaro.org>2017-10-11 18:39:20 +0200
commit6afb8533c36f700a7cb7208d93eaf00f2f78df74 (patch)
treefd70455e1b5601d093dd83dd59d5c10731737c19
parent93d3c451da7014193220c3f686c4b6379a1c5095 (diff)
core: link.mk: make platform specific kern.ld.S optional
Most platform do not need any special linker scripting and so most just link back to the default. Lets just have link.mk use the default when a platform does not have this file. Also remove this from the porting guidelines as it is now optional and only needed for advanced use. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
-rw-r--r--core/arch/arm/kernel/link.mk4
-rw-r--r--core/arch/arm/plat-d02/kern.ld.S1
-rw-r--r--core/arch/arm/plat-hikey/kern.ld.S1
-rw-r--r--core/arch/arm/plat-imx/kern.ld.S1
-rw-r--r--core/arch/arm/plat-ls/kern.ld.S1
-rw-r--r--core/arch/arm/plat-mediatek/kern.ld.S1
-rw-r--r--core/arch/arm/plat-rcar/kern.ld.S1
-rw-r--r--core/arch/arm/plat-rockchip/kern.ld.S1
-rw-r--r--core/arch/arm/plat-rpi3/kern.ld.S1
-rw-r--r--core/arch/arm/plat-sam/kern.ld.S1
-rw-r--r--core/arch/arm/plat-sprd/kern.ld.S1
-rw-r--r--core/arch/arm/plat-stm/kern.ld.S1
-rw-r--r--core/arch/arm/plat-ti/kern.ld.S1
-rw-r--r--core/arch/arm/plat-vexpress/kern.ld.S1
-rw-r--r--core/arch/arm/plat-zynq7k/kern.ld.S1
-rw-r--r--core/arch/arm/plat-zynqmp/kern.ld.S1
-rw-r--r--documentation/porting_guidelines.md10
17 files changed, 4 insertions, 25 deletions
diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
index 690061fb..aec07d15 100644
--- a/core/arch/arm/kernel/link.mk
+++ b/core/arch/arm/kernel/link.mk
@@ -1,7 +1,9 @@
link-out-dir = $(out-dir)/core
link-script-dummy = core/arch/arm/kernel/link_dummy.ld
-link-script = $(platform-dir)/kern.ld.S
+link-script = $(if $(wildcard $(platform-dir)/kern.ld.S), \
+ $(platform-dir)/kern.ld.S, \
+ core/arch/arm/kernel/kern.ld.S)
link-script-pp = $(link-out-dir)/kern.ld
link-script-dep = $(link-out-dir)/.kern.ld.d
diff --git a/core/arch/arm/plat-d02/kern.ld.S b/core/arch/arm/plat-d02/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-d02/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-hikey/kern.ld.S b/core/arch/arm/plat-hikey/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-hikey/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-imx/kern.ld.S b/core/arch/arm/plat-imx/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-imx/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-ls/kern.ld.S b/core/arch/arm/plat-ls/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-ls/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-mediatek/kern.ld.S b/core/arch/arm/plat-mediatek/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-mediatek/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-rcar/kern.ld.S b/core/arch/arm/plat-rcar/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-rcar/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-rockchip/kern.ld.S b/core/arch/arm/plat-rockchip/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-rockchip/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-rpi3/kern.ld.S b/core/arch/arm/plat-rpi3/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-rpi3/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-sam/kern.ld.S b/core/arch/arm/plat-sam/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-sam/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-sprd/kern.ld.S b/core/arch/arm/plat-sprd/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-sprd/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-stm/kern.ld.S b/core/arch/arm/plat-stm/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-stm/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-ti/kern.ld.S b/core/arch/arm/plat-ti/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-ti/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-vexpress/kern.ld.S b/core/arch/arm/plat-vexpress/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-vexpress/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-zynq7k/kern.ld.S b/core/arch/arm/plat-zynq7k/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-zynq7k/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/core/arch/arm/plat-zynqmp/kern.ld.S b/core/arch/arm/plat-zynqmp/kern.ld.S
deleted file mode 100644
index 8d794eea..00000000
--- a/core/arch/arm/plat-zynqmp/kern.ld.S
+++ /dev/null
@@ -1 +0,0 @@
-#include "../kernel/kern.ld.S"
diff --git a/documentation/porting_guidelines.md b/documentation/porting_guidelines.md
index 434d3682..62d55a51 100644
--- a/documentation/porting_guidelines.md
+++ b/documentation/porting_guidelines.md
@@ -43,7 +43,7 @@ where you are supposed to add a new platform or modify an existing one.
Typically you will find this set of files in a specific platform folder:
```bash
$ ls
-conf.mk kern.ld.S link.mk main.c platform_config.h sub.mk
+conf.mk link.mk main.c platform_config.h sub.mk
```
So for the gendev platform it means that the files should be placed in this
@@ -95,14 +95,6 @@ There are probably quite a few other flags that could be useful or even
necessary. Please refer to the other `conf.mk` file in the already existing
platforms.
-##### kern.ld.S
-This is your linker script. As it turns out, most of the existing platforms use
-the same linker script and therefore most likely you will only need to add this
-single line to the file:
-```
-#include "../kernel/kern.ld.S"
-```
-
##### link.mk
This is the makefile for the linker, just as for the linker script, most
platforms use the same and generic makefile for the linker, so adding only this