u-boot/scripts
Rasmus Villemoes e5e701c2b8 Kbuild: fix # escaping in .cmd files for future Make
[ commit 9564a8cf422d7b58f6e857e3546d346fa970191e in Linux ]

I tried building using a freshly built Make (4.2.1-69-g8a731d1), but
already the objtool build broke with

orc_dump.c: In function ‘orc_dump’:
orc_dump.c:106:2: error: ‘elf_getshnum’ is deprecated [-Werror=deprecated-declarations]
  if (elf_getshdrnum(elf, &nr_sections)) {

Turns out that with that new Make, the backslash was not removed, so cpp
didn't see a #include directive, grep found nothing, and
-DLIBELF_USE_DEPRECATED was wrongly put in CFLAGS.

Now, that new Make behaviour is documented in their NEWS file:

  * WARNING: Backward-incompatibility!
    Number signs (#) appearing inside a macro reference or function invocation
    no longer introduce comments and should not be escaped with backslashes:
    thus a call such as:
      foo := $(shell echo '#')
    is legal.  Previously the number sign needed to be escaped, for example:
      foo := $(shell echo '\#')
    Now this latter will resolve to "\#".  If you want to write makefiles
    portable to both versions, assign the number sign to a variable:
      C := \#
      foo := $(shell echo '$C')
    This was claimed to be fixed in 3.81, but wasn't, for some reason.
    To detect this change search for 'nocomment' in the .FEATURES variable.

This also fixes up the two make-cmd instances to replace # with $(pound)
rather than with \#. There might very well be other places that need
similar fixup in preparation for whatever future Make release contains
the above change, but at least this builds an x86_64 defconfig with the
new make.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=197847
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-09-30 13:00:34 -04:00
..
basic SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
coccinelle scripts/coccinelle: add some more coccinelle tests 2018-03-09 12:31:07 -05:00
dtc libfdt: Update to latest pylibfdt implementation 2018-08-08 12:49:36 +01:00
kconfig kconfig: Avoid format overflow warning from GCC 8.1 2018-07-25 08:47:52 +09:00
.gitignore docproc: Remove 2018-08-03 19:53:54 -04:00
bin2c.c scripts: import bin2c.c from Linux 4.10-rc6 2017-02-08 15:56:19 -05:00
binutils-version.sh scripts: fix binutils-version.sh for 'as' without a package. 2015-01-08 11:00:45 -05:00
build-whitelist.sh sunxi: Fix CONFIG_SUNXI_GMAC references 2017-09-01 20:48:27 +05:30
check-config.sh scripts/check-config.sh: fix "command not found" error handling 2018-03-22 16:32:30 -04:00
checkpatch.pl checkpatch.pl: update from Linux kernel v4.16 2018-04-10 15:19:15 -04:00
checkstack.pl avr32: Retire AVR32 for good 2017-07-06 16:17:19 -04:00
cleanpatch Makefile: Move some scripts imported from Linux 2013-12-13 09:18:45 -05:00
coccicheck Makefile: add coccicheck target 2017-11-20 20:18:38 -05:00
config_whitelist.txt Switch to driver model for eSDHC on Layerscape SoCs including LS1021A, 2018-09-29 11:47:32 -04:00
const_structs.checkpatch checkpatch: update from Linux v4.13-rc6 2017-09-14 21:33:00 -04:00
coreboot.sed SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
decodecode scripts: add decodecode from Linux 2018-05-23 22:06:41 -04:00
dtc-version.sh Makefile: Update minimum dtc version to 1.4.3 2017-09-22 07:40:05 -04:00
fill_scrapyard.py SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gcc-stack-usage.sh SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gcc-version.sh kbuild: Make scripts executable 2014-11-12 13:25:42 -05:00
get_default_envs.sh script: Make get_default_envs.sh script exclude tools/env 2018-06-07 20:06:29 -04:00
get_maintainer.pl get_maintainer.pl: update from Linux kernel v4.16 2018-04-10 15:19:14 -04:00
Kbuild.include Kbuild: fix # escaping in .cmd files for future Make 2018-09-30 13:00:34 -04:00
kernel-doc doc: Replace DocBook with sphinx-based docs 2018-07-23 14:33:21 -04:00
ld-version.sh scripts/ld-version.sh: regular expression compile fails 2017-11-20 20:18:37 -05:00
Lindent scripts/Lindent: import from Linux 3.16 2014-08-21 12:01:29 -04:00
mailmapper scripts: mailmapper: SPDX license identifier 2018-06-04 11:25:30 -04:00
Makefile docproc: Remove 2018-08-03 19:53:54 -04:00
Makefile.autoconf SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile.build kconfig: re-sync with Linux 4.17-rc4 2018-05-31 08:53:11 -04:00
Makefile.clean SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile.extrawarn SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile.host SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile.lib Patch queue for efi - 2018-06-14 2018-06-14 13:28:03 -04:00
Makefile.spl armv8: K3: am654: Add support for generating build targets 2018-09-11 08:32:55 -04:00
Makefile.uncmd_spl SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mkmakefile kbuild: Make scripts executable 2014-11-12 13:25:42 -05:00
objdiff scripts: objdiff: Ignore debug info when comparing 2017-08-26 14:56:14 -04:00
setlocalversion scripts: setlocalversion: safely extract variables from auto.conf using awk 2017-08-13 17:15:08 +02:00
show-gnu-make SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spelling.txt scripts/spelling.txt: Sync script with kernel 4.16-rc4 2018-03-05 10:16:30 -05:00