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