[boot-wrapper PATCH] model.lds.S: Quote file paths
Kevin Brodsky
kevin.brodsky at arm.com
Mon Jan 2 05:24:46 PST 2023
Inserting arbitrary paths in a linker script verbatim can be
problematic, even if they don't contain whitespaces, as ld has a
special interpretation for certain special characters (such as @).
Fix this by quoting all user-provided paths in model.lds.S using the
preprocessor.
Signed-off-by: Kevin Brodsky <kevin.brodsky at arm.com>
---
model.lds.S | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/model.lds.S b/model.lds.S
index dacaa25ba9fd..e07cbc04b9fa 100644
--- a/model.lds.S
+++ b/model.lds.S
@@ -7,6 +7,9 @@
* found in the LICENSE.txt file.
*/
+#define _STR(s) #s
+#define STR(s) _STR(s)
+
#ifdef BOOTWRAPPER_32
OUTPUT_FORMAT("elf32-littlearm")
OUTPUT_ARCH(arm)
@@ -17,13 +20,13 @@ OUTPUT_ARCH(aarch64)
TARGET(binary)
#ifdef XEN
-INPUT(XEN)
+INPUT(STR(XEN))
#endif
-INPUT(KERNEL)
+INPUT(STR(KERNEL))
INPUT(./fdt.dtb)
#ifdef USE_INITRD
-INPUT(FILESYSTEM)
+INPUT(STR(FILESYSTEM))
#endif
ENTRY(_start)
@@ -36,14 +39,14 @@ SECTIONS
*/
.kernel (PHYS_OFFSET + KERNEL_OFFSET): {
kernel__start = .;
- KERNEL
+ STR(KERNEL)
kernel__end = .;
}
#ifdef XEN
.xen (PHYS_OFFSET + XEN_OFFSET): {
xen__start = .;
- XEN
+ STR(XEN)
xen__end = .;
}
@@ -62,7 +65,7 @@ SECTIONS
#ifdef USE_INITRD
.filesystem (PHYS_OFFSET + FS_OFFSET): {
filesystem__start = .;
- FILESYSTEM
+ STR(FILESYSTEM)
filesystem__end = .;
}
#endif
--
2.38.1
More information about the linux-arm-kernel
mailing list