mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH v2] firmware: use portable newline escape
@ 2023-07-03 18:55 Ahmad Fatoum
  2023-07-04  7:41 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Ahmad Fatoum @ 2023-07-03 18:55 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

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@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(-)

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




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] firmware: use portable newline escape
  2023-07-03 18:55 [PATCH v2] firmware: use portable newline escape Ahmad Fatoum
@ 2023-07-04  7:41 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2023-07-04  7:41 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

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@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 |



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-07-04  7:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-03 18:55 [PATCH v2] firmware: use portable newline escape Ahmad Fatoum
2023-07-04  7:41 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox