[PATCH v2] firmware: use portable newline escape

Sascha Hauer sha at pengutronix.de
Tue Jul 4 00:41:44 PDT 2023


On Mon, Jul 03, 2023 at 08:55:15PM +0200, Ahmad Fatoum wrote:
> We want to print `\n' literally into the *.gen.S file, so gas turns it
> into a literal new line character. Depending on shell, the current
> scheme might not work:
> 
>   $ dash -c echo\ '\\\\n'
>   \n
>   $ bash -c echo\ '\\\\n'
>   \\n
> 
> Fix this by using printf instead. This fixes a cosmetic issue of non-escaped
> `\n' making it into the missing section when building without bash, e.g. on
> NixOS.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
> v1 -> v2:
>   - use printf instead of echo with single quotes as the later behaves
>     differently between bash and dash. Edited commit message
>     appropriately.
> ---
>  firmware/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks

Sascha

> 
> diff --git a/firmware/Makefile b/firmware/Makefile
> index d7f35853a404..5853950dfe4e 100644
> --- a/firmware/Makefile
> +++ b/firmware/Makefile
> @@ -62,7 +62,7 @@ filechk_fwbin = { \
>  	echo "\#ifdef __PBL__"					;\
>  	echo "    .section .missing_fw,\"a\""			;\
>  	echo "_fwname_$(FWSTR):"				;\
> -	echo ".ascii \"firmware/$(FWNAME)\\\\n\""		;\
> +	printf '.ascii "%s"\n' 'firmware/$(FWNAME)\n'		;\
>  	echo "\#endif" 						;\
>  }
>  
> -- 
> 2.39.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list