[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