[boot-wrapper PATCH] model.lds.S: Quote file paths
Mark Rutland
mark.rutland at arm.com
Mon Jan 30 06:41:58 PST 2023
On Mon, Jan 02, 2023 at 01:24:46PM +0000, Kevin Brodsky wrote:
> 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>
Thanks; applied.
Mark.
> ---
> 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