Skip to content

Commit

Permalink
Set as-instr to use printf intsead of echo
Browse files Browse the repository at this point in the history
as-instr was hardcoded to use /bin/echo with the -e option.
Non-GNU systems like MacOSX would fail and cause compiler errors.

Since BSD echo does not have the -e option (escape backslashes)
prinf was used instead would should be more friendly cross-platform

Specifically with the new OSX toolchain it caused the following
error:
  Error: selected processor does not support ARM mode `smc #0'

This was caused by $(call as-instr,.arch_extension sec,+sec) failing
since it was using echo -e.

See: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html

  "It is not possible to use echo portably across all POSIX systems
   unless both -n (as the first argument) and escape sequences are
   omitted.

  The printf utility can be used portably to emulate any of the
  traditional behaviors of the echo utility as follows (assuming
  that IFS has its standard value or is unset)

  New applications are encouraged to use printf instead of echo."

Change-Id: I558ec343e9bb8d449e1af710d329b4dc76743a05
  • Loading branch information
nemith authored and rmcc committed Jan 18, 2013
1 parent b661946 commit f43dbd3
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion scripts/Kbuild.include
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ as-option = $(call try-run,\
# Usage: cflags-y += $(call as-instr,instr,option1,option2)

as-instr = $(call try-run,\
/bin/echo -e "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" -,$(2),$(3))
printf "%s\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" -,$(2),$(3))

# cc-option
# Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
Expand Down

0 comments on commit f43dbd3

Please sign in to comment.