Kbuild updates for v4.14

- Use Make-builtin $(abspath ...) helper to get absolute path
 
 - Add W=2 extra warning option to detect unused macros
 
 - Use more KCONFIG_CONFIG instead hard-coded .config
 
 - Fix bugs of tar*-pkg targets
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZupWLAAoJED2LAQed4NsGVEEQAItJ0y1uxDr0cjJNE46N6p6+
 EMCWKWC2H0XR9oFRY1y5utYWIwRauIaESgGg1qMU6Lbg5qZamggpNrYVH207tCz1
 gNkU8wwc2SXpxJy2eG2asxY9L2mL0a5fFFOgxIxoz+hCTgr4Yk1IGnTH9+GPQKtW
 thduXxTvcB4/oNTOgUHNj/7j9ydn7ETTOjsCoaEwBZqtBaaEBj20h6EOhgX+ouMd
 5P9YoCbfk28KHKlnMd8sNHV5SLKb94wCwoM/QIOLl42rwIAc81dUgOmaMGeflXF9
 zBH1exi4ID9SyQyuMZemJNe0bD6YR2qG0Sf1t2eDnhxmcav7Vwk+WV7Pdpr8UWw8
 Lot9yPJQA43kfYj6pfCJFXzWEduNT48zGGBJb30WyGkBkidNNGkujdSeI36swEQD
 fPV9tHPk48OSNPqJWZXehezBqN9U5Sa1M9dk5TNA69mzdZgNp052flxywBQ/SGTO
 +h17SREP9Mm6CQ9ApfHaOlMr40/mpCCDq+p8pfem5ZtnBby9k4uNp2P9hAMTJdw8
 5AOdwB0MdzvMQgF5UO0kklk6HGUZTAGHi91k5k3e+DPydt9+2ntZFZoVwVYaD756
 E55KKrQZqSO758gnN9Wbr8ihgOhNI3ZA320nCjfwQdnUqQ496KAkLpgVALF8pEVi
 /xIBawfQNj9BlDc3Y3jo
 =Tam1
 -----END PGP SIGNATURE-----

Merge tag 'kbuild-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild updates from Masahiro Yamada:

 - Use Make-builtin $(abspath ...) helper to get absolute path

 - Add W=2 extra warning option to detect unused macros

 - Use more KCONFIG_CONFIG instead hard-coded .config

 - Fix bugs of tar*-pkg targets

* tag 'kbuild-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  kbuild: buildtar: do not print successful message if tar returns error
  kbuild: buildtar: fix tar error when CONFIG_MODULES is disabled
  kbuild: Use KCONFIG_CONFIG in buildtar
  Kbuild: enable -Wunused-macros warning for "make W=2"
  kbuild: use $(abspath ...) instead of $(shell cd ... && /bin/pwd)
This commit is contained in:
Linus Torvalds 2017-09-14 13:46:33 -07:00
commit a2bc8dea9e
6 changed files with 29 additions and 30 deletions

View file

@ -37,6 +37,7 @@ warning-2 += $(call cc-option, -Wlogical-op)
warning-2 += $(call cc-option, -Wmissing-field-initializers)
warning-2 += $(call cc-option, -Wsign-compare)
warning-2 += $(call cc-option, -Wmaybe-uninitialized)
warning-2 += $(call cc-option, -Wunused-macros)
warning-3 := -Wbad-function-cast
warning-3 += -Wcast-qual

View file

@ -1,6 +1,6 @@
always := gdb-scripts
SRCTREE := $(shell cd $(srctree) && /bin/pwd)
SRCTREE := $(abspath $(srctree))
$(obj)/gdb-scripts:
ifneq ($(KBUILD_SRC),)

View file

@ -24,20 +24,19 @@ tarball="${objtree}/linux-${KERNELRELEASE}-${ARCH}.tar"
#
case "${1}" in
tar-pkg)
compress="cat"
file_ext=""
opts=
;;
targz-pkg)
compress="gzip"
file_ext=".gz"
opts=--gzip
tarball=${tarball}.gz
;;
tarbz2-pkg)
compress="bzip2"
file_ext=".bz2"
opts=--bzip2
tarball=${tarball}.bz2
;;
tarxz-pkg)
compress="xz"
file_ext=".xz"
opts=--xz
tarball=${tarball}.xz
;;
*)
echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2
@ -51,13 +50,14 @@ esac
#
rm -rf -- "${tmpdir}"
mkdir -p -- "${tmpdir}/boot"
dirs=boot
#
# Try to install modules
#
if grep -q '^CONFIG_MODULES=y' "${objtree}/.config"; then
if grep -q '^CONFIG_MODULES=y' "${KCONFIG_CONFIG}"; then
make ARCH="${ARCH}" O="${objtree}" KBUILD_SRC= INSTALL_MOD_PATH="${tmpdir}" modules_install
dirs="$dirs lib"
fi
@ -65,7 +65,7 @@ fi
# Install basic kernel files
#
cp -v -- "${objtree}/System.map" "${tmpdir}/boot/System.map-${KERNELRELEASE}"
cp -v -- "${objtree}/.config" "${tmpdir}/boot/config-${KERNELRELEASE}"
cp -v -- "${KCONFIG_CONFIG}" "${tmpdir}/boot/config-${KERNELRELEASE}"
cp -v -- "${objtree}/vmlinux" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
@ -124,14 +124,12 @@ esac
#
# Create the tarball
#
(
opts=
if tar --owner=root --group=root --help >/dev/null 2>&1; then
opts="--owner=root --group=root"
fi
tar cf - -C "$tmpdir" boot/ lib/ $opts | ${compress} > "${tarball}${file_ext}"
)
if tar --owner=root --group=root --help >/dev/null 2>&1; then
opts="$opts --owner=root --group=root"
fi
echo "Tarball successfully created in ${tarball}${file_ext}"
tar cf $tarball -C $tmpdir $opts $dirs
echo "Tarball successfully created in $tarball"
exit 0