Merge tag 'kbuild-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Apr 2018 22:51:22 +0000 (15:51 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Apr 2018 22:51:22 +0000 (15:51 -0700)
Pull Kbuild updates from Masahiro Yamada:

 - add a shell script to get Clang version

 - improve portability of build scripts

 - drop always-enabled CONFIG_THIN_ARCHIVE and remove unused code

 - rename built-in.o which is now thin archive to built-in.a

 - process clean/build targets one by one to get along with -j option

 - simplify ld-option

 - improve building with CONFIG_TRIM_UNUSED_KSYMS

 - define KBUILD_MODNAME even for objects shared among multiple modules

 - avoid linking multiple instances of same objects from composite
   objects

 - move <linux/compiler_types.h> to c_flags to include it only for C
   files

 - clean-up various Makefiles

* tag 'kbuild-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (29 commits)
  kbuild: get <linux/compiler_types.h> out of <linux/kconfig.h>
  kbuild: clean up link rule of composite modules
  kbuild: clean up archive rule of built-in.a
  kbuild: remove partial section mismatch detection for built-in.a
  net: liquidio: clean up Makefile for simpler composite object handling
  lib: zstd: clean up Makefile for simpler composite object handling
  kbuild: link $(real-obj-y) instead of $(obj-y) into built-in.a
  kbuild: rename real-objs-y/m to real-obj-y/m
  kbuild: move modname and modname-multi close to modname_flags
  kbuild: simplify modname calculation
  kbuild: fix modname for composite modules
  kbuild: define KBUILD_MODNAME even if multiple modules share objects
  kbuild: remove unnecessary $(subst $(obj)/, , ...) in modname-multi
  kbuild: Use ls(1) instead of stat(1) to obtain file size
  kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS
  kbuild: move include/config/ksym/* to include/ksym/*
  kbuild: move CONFIG_TRIM_UNUSED_KSYMS code unneeded for external module
  kbuild: restore autoksyms.h touch to the top Makefile
  kbuild: move 'scripts' target below
  kbuild: remove wrong 'touch' in adjust_autoksyms.sh
  ...

1  2 
Documentation/process/changes.rst
Makefile
arch/arm/boot/deflate_xip_data.sh
lib/Kconfig.debug
scripts/adjust_autoksyms.sh

Simple merge
diff --cc Makefile
Simple merge
index 5e7d758ebdd62722e7f453f92ff219f41c6b9b50,07adfc734fa3e49867aeea4b2e5ef12bb11dc25b..b7fa67d2d9e3006fb3f460930a4a270908d523a2
@@@ -45,10 -45,10 +45,10 @@@ data_start=$(($__data_loc - $base_offse
  data_end=$(($_edata_loc - $base_offset))
  
  # Make sure data occupies the last part of the file.
- file_end=$(stat -c "%s" "$XIPIMAGE")
+ file_end=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" "$XIPIMAGE")
  if [ "$file_end" != "$data_end" ]; then
        printf "end of xipImage doesn't match with _edata_loc (%#x vs %#x)\n" \
 -             $(($file_end + $base_offset)) $_edata_loc 2>&1
 +             $(($file_end + $base_offset)) $_edata_loc 1>&2
        exit 1;
  fi
  
Simple merge
index d67830e6e3604f18ef073ca80727af82122d7cde,f11cae6a041bcb1581ed4b2707fdd2e1e021bdaf..016b3c48a4ecaa72dabda569fb2a87a0396a3077
@@@ -81,16 -80,9 +80,16 @@@ sort "$cur_ksyms_file" "$new_ksyms_file
  sed -n 's/^#define __KSYM_\(.*\) 1/\1/p' | tr "A-Z_" "a-z/" |
  while read sympath; do
        if [ -z "$sympath" ]; then continue; fi
-       depfile="include/config/ksym/${sympath}.h"
+       depfile="include/ksym/${sympath}.h"
        mkdir -p "$(dirname "$depfile")"
        touch "$depfile"
 +      # Filesystems with coarse time precision may create timestamps
 +      # equal to the one from a file that was very recently built and that
 +      # needs to be rebuild. Let's guard against that by making sure our
 +      # dep files are always newer than the first file we created here.
 +      while [ ! "$depfile" -nt "$new_ksyms_file" ]; do
 +              touch "$depfile"
 +      done
        echo $((count += 1))
  done | tail -1 )
  changed=${changed:-0}