Re: Linux 4.9.139

2018-11-23 Thread Greg KH
On Fri, Nov 23, 2018 at 09:55:47AM +0100, Rainer Fiebig wrote:
> Am Freitag, 23. November 2018, 08:47:31 schrieb Greg KH:
> > I'm announcing the release of the 4.9.139 kernel.
> > 
> > All users of the 4.9 kernel series must upgrade.
> > 
> > The updated 4.9.y git tree can be found at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
> > linux-4.9.y and can be browsed at the normal kernel.org git web browser:
> > 
> > http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
> > 
> > thanks,
> > 
> > greg k-h
> > 
> Just *in case* this was an oversight: STIBP is still active in 4.9.139.
> 
> Not that I would mind because for my modest Core i3 that I mainly use for 
> office-work I don't see *any* difference in performance compared to 4.9.136 
> (no STIBP).
> 
> So long!

Wait, really?  I thought I reverted the patch.  Oh crap, I only did it
for 4.14.y and 4.19.y, my fault :(

I'll go queue up the revert now, so sorry about that.

greg k-h


Re: Linux 4.9.139

2018-11-23 Thread Greg KH
On Fri, Nov 23, 2018 at 09:55:47AM +0100, Rainer Fiebig wrote:
> Am Freitag, 23. November 2018, 08:47:31 schrieb Greg KH:
> > I'm announcing the release of the 4.9.139 kernel.
> > 
> > All users of the 4.9 kernel series must upgrade.
> > 
> > The updated 4.9.y git tree can be found at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
> > linux-4.9.y and can be browsed at the normal kernel.org git web browser:
> > 
> > http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
> > 
> > thanks,
> > 
> > greg k-h
> > 
> Just *in case* this was an oversight: STIBP is still active in 4.9.139.
> 
> Not that I would mind because for my modest Core i3 that I mainly use for 
> office-work I don't see *any* difference in performance compared to 4.9.136 
> (no STIBP).
> 
> So long!

Wait, really?  I thought I reverted the patch.  Oh crap, I only did it
for 4.14.y and 4.19.y, my fault :(

I'll go queue up the revert now, so sorry about that.

greg k-h


Re: Linux 4.9.139

2018-11-23 Thread Rainer Fiebig
Am Freitag, 23. November 2018, 08:47:31 schrieb Greg KH:
> I'm announcing the release of the 4.9.139 kernel.
> 
> All users of the 4.9 kernel series must upgrade.
> 
> The updated 4.9.y git tree can be found at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
> linux-4.9.y and can be browsed at the normal kernel.org git web browser:
>   
> http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
> 
> thanks,
> 
> greg k-h
> 
Just *in case* this was an oversight: STIBP is still active in 4.9.139.

Not that I would mind because for my modest Core i3 that I mainly use for 
office-work I don't see *any* difference in performance compared to 4.9.136 
(no STIBP).

So long!

Rainer Fiebig

> 
> 
>  .gitignore|1
>  Kbuild|   25 
>  Makefile  |   27 +++-
>  arch/arm/include/asm/assembler.h  |   12 ++
>  arch/arm/include/asm/barrier.h|   32 +
>  arch/arm/include/asm/bugs.h   |6 -
>  arch/arm/include/asm/cp15.h   |3
>  arch/arm/include/asm/cputype.h|8 +
>  arch/arm/include/asm/kvm_asm.h|2
>  arch/arm/include/asm/kvm_host.h   |   14 ++
>  arch/arm/include/asm/kvm_mmu.h|   23 +++
>  arch/arm/include/asm/proc-fns.h   |4
>  arch/arm/include/asm/system_misc.h|   15 ++
>  arch/arm/include/asm/thread_info.h|4
>  arch/arm/include/asm/uaccess.h|   26 +++-
>  arch/arm/kernel/Makefile  |1
>  arch/arm/kernel/bugs.c|   18 +++
>  arch/arm/kernel/entry-common.S|   18 +--
>  arch/arm/kernel/entry-header.S|   25 
>  arch/arm/kernel/signal.c  |   55 +
>  arch/arm/kernel/smp.c |4
>  arch/arm/kernel/suspend.c |2
>  arch/arm/kernel/sys_oabi-compat.c |8 -
>  arch/arm/kvm/hyp/hyp-entry.S  |  112 ++-
>  arch/arm/lib/copy_from_user.S |9 +
>  arch/arm/mm/Kconfig   |   23 +++
>  arch/arm/mm/Makefile  |2
>  arch/arm/mm/fault.c   |3
>  arch/arm/mm/proc-macros.S |3
>  arch/arm/mm/proc-v7-2level.S  |6 -
>  arch/arm/mm/proc-v7-bugs.c|  174
> ++ arch/arm/mm/proc-v7.S | 
> 154 +- arch/arm/vfp/vfpmodule.c  | 
>  17 +-
>  arch/arm64/crypto/sha1-ce-core.S  |6 -
>  arch/arm64/crypto/sha1-ce-glue.c  |   11 -
>  arch/arm64/crypto/sha2-ce-core.S  |6 -
>  arch/arm64/crypto/sha2-ce-glue.c  |   13 --
>  arch/arm64/include/asm/efi.h  |3
>  arch/arm64/include/asm/uaccess.h  |4
>  arch/ia64/kernel/Makefile |   26 
>  arch/x86/Makefile |   39 +-
>  arch/x86/boot/string.c|9 +
>  arch/x86/crypto/aes_ctrby8_avx-x86_64.S   |7 -
>  drivers/firmware/efi/libstub/Makefile |   26 ++--
>  drivers/firmware/efi/libstub/arm64-stub.c |   10 +
>  drivers/net/ethernet/broadcom/tg3.c   |   18 ++-
>  drivers/net/usb/smsc95xx.c|7 +
>  drivers/xen/Makefile  |3
>  include/linux/kbuild.h|6 -
>  include/linux/module.h|4
>  net/core/dev.c|4
>  net/core/flow_dissector.c |4
>  net/ipv4/inet_fragment.c  |   28 ++--
>  net/ipv4/ip_tunnel_core.c |2
>  net/ipv6/route.c  |7 -
>  net/sctp/socket.c |   26 
>  scripts/Kbuild.include|   18 ++-
>  scripts/Makefile.build|8 +
>  scripts/Makefile.extrawarn|1
>  scripts/Makefile.host |6 -
>  scripts/Makefile.lib  |   31 +
>  scripts/mod/Makefile  |   28 
>  62 files changed, 901 insertions(+), 296 deletions(-)
> 
> Ard Biesheuvel (5):
>   crypto: arm64/sha - avoid non-standard inline asm tricks
>   efi/libstub/arm64: Use hidden attribute for struct screen_info
> reference efi/libstub/arm64: Force 'hidden' visibility for section markers
> efi/libstub: Preserve .debug sections after absolute relocation check
> efi/libstub/arm64: Set -fpie when building the EFI stub
> 
> Arnd Bergmann (2):
>   modules: mark __inittest/__exittest as __maybe_unused
>   Kbuild: use -fshort-wchar globally
> 
> Behan Webster (2):
>   kbuild: Add better clang cross build support
>   kbuild: use -Oz instead of -Os when using clang
> 
> David Ahern (1):
>   ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF
> 
> Eric 

Re: Linux 4.9.139

2018-11-23 Thread Rainer Fiebig
Am Freitag, 23. November 2018, 08:47:31 schrieb Greg KH:
> I'm announcing the release of the 4.9.139 kernel.
> 
> All users of the 4.9 kernel series must upgrade.
> 
> The updated 4.9.y git tree can be found at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
> linux-4.9.y and can be browsed at the normal kernel.org git web browser:
>   
> http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
> 
> thanks,
> 
> greg k-h
> 
Just *in case* this was an oversight: STIBP is still active in 4.9.139.

Not that I would mind because for my modest Core i3 that I mainly use for 
office-work I don't see *any* difference in performance compared to 4.9.136 
(no STIBP).

So long!

Rainer Fiebig

> 
> 
>  .gitignore|1
>  Kbuild|   25 
>  Makefile  |   27 +++-
>  arch/arm/include/asm/assembler.h  |   12 ++
>  arch/arm/include/asm/barrier.h|   32 +
>  arch/arm/include/asm/bugs.h   |6 -
>  arch/arm/include/asm/cp15.h   |3
>  arch/arm/include/asm/cputype.h|8 +
>  arch/arm/include/asm/kvm_asm.h|2
>  arch/arm/include/asm/kvm_host.h   |   14 ++
>  arch/arm/include/asm/kvm_mmu.h|   23 +++
>  arch/arm/include/asm/proc-fns.h   |4
>  arch/arm/include/asm/system_misc.h|   15 ++
>  arch/arm/include/asm/thread_info.h|4
>  arch/arm/include/asm/uaccess.h|   26 +++-
>  arch/arm/kernel/Makefile  |1
>  arch/arm/kernel/bugs.c|   18 +++
>  arch/arm/kernel/entry-common.S|   18 +--
>  arch/arm/kernel/entry-header.S|   25 
>  arch/arm/kernel/signal.c  |   55 +
>  arch/arm/kernel/smp.c |4
>  arch/arm/kernel/suspend.c |2
>  arch/arm/kernel/sys_oabi-compat.c |8 -
>  arch/arm/kvm/hyp/hyp-entry.S  |  112 ++-
>  arch/arm/lib/copy_from_user.S |9 +
>  arch/arm/mm/Kconfig   |   23 +++
>  arch/arm/mm/Makefile  |2
>  arch/arm/mm/fault.c   |3
>  arch/arm/mm/proc-macros.S |3
>  arch/arm/mm/proc-v7-2level.S  |6 -
>  arch/arm/mm/proc-v7-bugs.c|  174
> ++ arch/arm/mm/proc-v7.S | 
> 154 +- arch/arm/vfp/vfpmodule.c  | 
>  17 +-
>  arch/arm64/crypto/sha1-ce-core.S  |6 -
>  arch/arm64/crypto/sha1-ce-glue.c  |   11 -
>  arch/arm64/crypto/sha2-ce-core.S  |6 -
>  arch/arm64/crypto/sha2-ce-glue.c  |   13 --
>  arch/arm64/include/asm/efi.h  |3
>  arch/arm64/include/asm/uaccess.h  |4
>  arch/ia64/kernel/Makefile |   26 
>  arch/x86/Makefile |   39 +-
>  arch/x86/boot/string.c|9 +
>  arch/x86/crypto/aes_ctrby8_avx-x86_64.S   |7 -
>  drivers/firmware/efi/libstub/Makefile |   26 ++--
>  drivers/firmware/efi/libstub/arm64-stub.c |   10 +
>  drivers/net/ethernet/broadcom/tg3.c   |   18 ++-
>  drivers/net/usb/smsc95xx.c|7 +
>  drivers/xen/Makefile  |3
>  include/linux/kbuild.h|6 -
>  include/linux/module.h|4
>  net/core/dev.c|4
>  net/core/flow_dissector.c |4
>  net/ipv4/inet_fragment.c  |   28 ++--
>  net/ipv4/ip_tunnel_core.c |2
>  net/ipv6/route.c  |7 -
>  net/sctp/socket.c |   26 
>  scripts/Kbuild.include|   18 ++-
>  scripts/Makefile.build|8 +
>  scripts/Makefile.extrawarn|1
>  scripts/Makefile.host |6 -
>  scripts/Makefile.lib  |   31 +
>  scripts/mod/Makefile  |   28 
>  62 files changed, 901 insertions(+), 296 deletions(-)
> 
> Ard Biesheuvel (5):
>   crypto: arm64/sha - avoid non-standard inline asm tricks
>   efi/libstub/arm64: Use hidden attribute for struct screen_info
> reference efi/libstub/arm64: Force 'hidden' visibility for section markers
> efi/libstub: Preserve .debug sections after absolute relocation check
> efi/libstub/arm64: Set -fpie when building the EFI stub
> 
> Arnd Bergmann (2):
>   modules: mark __inittest/__exittest as __maybe_unused
>   Kbuild: use -fshort-wchar globally
> 
> Behan Webster (2):
>   kbuild: Add better clang cross build support
>   kbuild: use -Oz instead of -Os when using clang
> 
> David Ahern (1):
>   ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF
> 
> Eric 

Re: Linux 4.9.139

2018-11-22 Thread Greg KH
diff --git a/.gitignore b/.gitignore
index c2ed4ecb0acd..0c39aa20b6ba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,6 +33,7 @@
 *.lzo
 *.patch
 *.gcno
+*.ll
 modules.builtin
 Module.symvers
 *.dwo
diff --git a/Kbuild b/Kbuild
index 3d0ae152af7c..94c752762bc2 100644
--- a/Kbuild
+++ b/Kbuild
@@ -7,31 +7,6 @@
 # 4) Check for missing system calls
 # 5) Generate constants.py (may need bounds.h)
 
-# Default sed regexp - multiline due to syntax constraints
-define sed-y
-   "/^->/{s:->#\(.*\):/* \1 */:; \
-   s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
-   s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
-   s:->::; p;}"
-endef
-
-# Use filechk to avoid rebuilds when a header changes, but the resulting file
-# does not
-define filechk_offsets
-   (set -e; \
-echo "#ifndef $2"; \
-echo "#define $2"; \
-echo "/*"; \
-echo " * DO NOT MODIFY."; \
-echo " *"; \
-echo " * This file was generated by Kbuild"; \
-echo " */"; \
-echo ""; \
-sed -ne $(sed-y); \
-echo ""; \
-echo "#endif" )
-endef
-
 #
 # 1) Generate bounds.h
 
diff --git a/Makefile b/Makefile
index ccf2602f664d..a6959d96316d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 VERSION = 4
 PATCHLEVEL = 9
-SUBLEVEL = 138
+SUBLEVEL = 139
 EXTRAVERSION =
 NAME = Roaring Lionus
 
@@ -303,7 +303,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo 
$$BASH; \
 
 HOSTCC   = gcc
 HOSTCXX  = g++
-HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 
-fomit-frame-pointer -std=gnu89
+HOSTCFLAGS   := -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 
-fomit-frame-pointer -std=gnu89
 HOSTCXXFLAGS = -O2
 
 ifeq ($(shell $(HOSTCC) -v 2>&1 | grep -c "clang version"), 1)
@@ -394,7 +394,7 @@ LINUXINCLUDE+= $(filter-out 
$(LINUXINCLUDE),$(USERINCLUDE))
 
 KBUILD_AFLAGS   := -D__ASSEMBLY__
 KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-  -fno-strict-aliasing -fno-common \
+  -fno-strict-aliasing -fno-common -fshort-wchar \
   -Werror-implicit-function-declaration \
   -Wno-format-security \
   -std=gnu89
@@ -644,7 +644,8 @@ KBUILD_CFLAGS   += $(call cc-option,-fdata-sections,)
 endif
 
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
-KBUILD_CFLAGS  += -Os $(call cc-disable-warning,maybe-uninitialized,)
+KBUILD_CFLAGS  += $(call cc-option,-Oz,-Os)
+KBUILD_CFLAGS  += $(call cc-disable-warning,maybe-uninitialized,)
 else
 ifdef CONFIG_PROFILE_ALL_BRANCHES
 KBUILD_CFLAGS  += -O2 $(call cc-disable-warning,maybe-uninitialized,)
@@ -704,11 +705,20 @@ endif
 KBUILD_CFLAGS += $(stackp-flag)
 
 ifeq ($(cc-name),clang)
+ifneq ($(CROSS_COMPILE),)
+CLANG_TARGET   := -target $(notdir $(CROSS_COMPILE:%-=%))
+GCC_TOOLCHAIN  := $(realpath $(dir $(shell which $(LD)))/..)
+endif
+ifneq ($(GCC_TOOLCHAIN),)
+CLANG_GCC_TC   := -gcc-toolchain $(GCC_TOOLCHAIN)
+endif
+KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
+KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
 KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,)
-KBUILD_CPPFLAGS += $(call cc-option,-Wno-unknown-warning-option,)
 KBUILD_CFLAGS += $(call cc-disable-warning, unused-variable)
 KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier)
 KBUILD_CFLAGS += $(call cc-disable-warning, gnu)
+KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
 # Quiet clang warning: comparison of unsigned expression < 0 is always false
 KBUILD_CFLAGS += $(call cc-disable-warning, tautological-compare)
 # CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
@@ -716,6 +726,8 @@ KBUILD_CFLAGS += $(call cc-disable-warning, 
tautological-compare)
 # See modpost pattern 2
 KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,)
 KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior)
+KBUILD_CFLAGS += $(call cc-option, -no-integrated-as)
+KBUILD_AFLAGS += $(call cc-option, -no-integrated-as)
 else
 
 # These warnings generated too much noise in a regular build.
@@ -1379,6 +1391,8 @@ help:
@echo  '(default: 
$$(INSTALL_MOD_PATH)/lib/firmware)'
@echo  '  dir/- Build all files in dir and below'
@echo  '  dir/file.[ois]  - Build specified target only'
+   @echo  '  dir/file.ll - Build the LLVM assembly file'
+   @echo  '(requires compiler support for LLVM 
assembly generation)'
@echo  '  dir/file.lst- Build specified mixed source/assembly 
target only'
@echo  '(requires a recent binutils and recent 
build (System.map))'
@echo  '  dir/file.ko - Build module including final link'
@@ -1563,6 +1577,7 @@ clean: $(clean-dirs)
-o -name '*.symtypes' -o -name 'modules.order' \
-o -name modules.builtin -o -name '.tmp_*.o.*' \
-o -name 

Re: Linux 4.9.139

2018-11-22 Thread Greg KH
diff --git a/.gitignore b/.gitignore
index c2ed4ecb0acd..0c39aa20b6ba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,6 +33,7 @@
 *.lzo
 *.patch
 *.gcno
+*.ll
 modules.builtin
 Module.symvers
 *.dwo
diff --git a/Kbuild b/Kbuild
index 3d0ae152af7c..94c752762bc2 100644
--- a/Kbuild
+++ b/Kbuild
@@ -7,31 +7,6 @@
 # 4) Check for missing system calls
 # 5) Generate constants.py (may need bounds.h)
 
-# Default sed regexp - multiline due to syntax constraints
-define sed-y
-   "/^->/{s:->#\(.*\):/* \1 */:; \
-   s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
-   s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
-   s:->::; p;}"
-endef
-
-# Use filechk to avoid rebuilds when a header changes, but the resulting file
-# does not
-define filechk_offsets
-   (set -e; \
-echo "#ifndef $2"; \
-echo "#define $2"; \
-echo "/*"; \
-echo " * DO NOT MODIFY."; \
-echo " *"; \
-echo " * This file was generated by Kbuild"; \
-echo " */"; \
-echo ""; \
-sed -ne $(sed-y); \
-echo ""; \
-echo "#endif" )
-endef
-
 #
 # 1) Generate bounds.h
 
diff --git a/Makefile b/Makefile
index ccf2602f664d..a6959d96316d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 VERSION = 4
 PATCHLEVEL = 9
-SUBLEVEL = 138
+SUBLEVEL = 139
 EXTRAVERSION =
 NAME = Roaring Lionus
 
@@ -303,7 +303,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo 
$$BASH; \
 
 HOSTCC   = gcc
 HOSTCXX  = g++
-HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 
-fomit-frame-pointer -std=gnu89
+HOSTCFLAGS   := -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 
-fomit-frame-pointer -std=gnu89
 HOSTCXXFLAGS = -O2
 
 ifeq ($(shell $(HOSTCC) -v 2>&1 | grep -c "clang version"), 1)
@@ -394,7 +394,7 @@ LINUXINCLUDE+= $(filter-out 
$(LINUXINCLUDE),$(USERINCLUDE))
 
 KBUILD_AFLAGS   := -D__ASSEMBLY__
 KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-  -fno-strict-aliasing -fno-common \
+  -fno-strict-aliasing -fno-common -fshort-wchar \
   -Werror-implicit-function-declaration \
   -Wno-format-security \
   -std=gnu89
@@ -644,7 +644,8 @@ KBUILD_CFLAGS   += $(call cc-option,-fdata-sections,)
 endif
 
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
-KBUILD_CFLAGS  += -Os $(call cc-disable-warning,maybe-uninitialized,)
+KBUILD_CFLAGS  += $(call cc-option,-Oz,-Os)
+KBUILD_CFLAGS  += $(call cc-disable-warning,maybe-uninitialized,)
 else
 ifdef CONFIG_PROFILE_ALL_BRANCHES
 KBUILD_CFLAGS  += -O2 $(call cc-disable-warning,maybe-uninitialized,)
@@ -704,11 +705,20 @@ endif
 KBUILD_CFLAGS += $(stackp-flag)
 
 ifeq ($(cc-name),clang)
+ifneq ($(CROSS_COMPILE),)
+CLANG_TARGET   := -target $(notdir $(CROSS_COMPILE:%-=%))
+GCC_TOOLCHAIN  := $(realpath $(dir $(shell which $(LD)))/..)
+endif
+ifneq ($(GCC_TOOLCHAIN),)
+CLANG_GCC_TC   := -gcc-toolchain $(GCC_TOOLCHAIN)
+endif
+KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
+KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
 KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,)
-KBUILD_CPPFLAGS += $(call cc-option,-Wno-unknown-warning-option,)
 KBUILD_CFLAGS += $(call cc-disable-warning, unused-variable)
 KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier)
 KBUILD_CFLAGS += $(call cc-disable-warning, gnu)
+KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
 # Quiet clang warning: comparison of unsigned expression < 0 is always false
 KBUILD_CFLAGS += $(call cc-disable-warning, tautological-compare)
 # CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
@@ -716,6 +726,8 @@ KBUILD_CFLAGS += $(call cc-disable-warning, 
tautological-compare)
 # See modpost pattern 2
 KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,)
 KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior)
+KBUILD_CFLAGS += $(call cc-option, -no-integrated-as)
+KBUILD_AFLAGS += $(call cc-option, -no-integrated-as)
 else
 
 # These warnings generated too much noise in a regular build.
@@ -1379,6 +1391,8 @@ help:
@echo  '(default: 
$$(INSTALL_MOD_PATH)/lib/firmware)'
@echo  '  dir/- Build all files in dir and below'
@echo  '  dir/file.[ois]  - Build specified target only'
+   @echo  '  dir/file.ll - Build the LLVM assembly file'
+   @echo  '(requires compiler support for LLVM 
assembly generation)'
@echo  '  dir/file.lst- Build specified mixed source/assembly 
target only'
@echo  '(requires a recent binutils and recent 
build (System.map))'
@echo  '  dir/file.ko - Build module including final link'
@@ -1563,6 +1577,7 @@ clean: $(clean-dirs)
-o -name '*.symtypes' -o -name 'modules.order' \
-o -name modules.builtin -o -name '.tmp_*.o.*' \
-o -name