[PATCH v2] firmware: use portable newline escape
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Jul 3 11:55:15 PDT 2023
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(-)
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
More information about the barebox
mailing list