Commit d897b680 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'kbuild-fixes-v5.18' of...

Merge tag 'kbuild-fixes-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fixes from Masahiro Yamada:

 - Fix empty $(PYTHON) expansion.

 - Fix UML, which got broken by the attempt to suppress Clang warnings.

 - Fix warning message in modpost.

* tag 'kbuild-fixes-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  modpost: restore the warning message for missing symbol versions
  Revert "um: clang: Strip out -mno-global-merge from USER_CFLAGS"
  kbuild: Remove '-mno-global-merge'
  kbuild: fix empty ${PYTHON} in scripts/link-vmlinux.sh
  kconfig: remove stale comment about removed kconfig_print_symbol()
parents 0b0fa57a bf5c0c22
Loading
Loading
Loading
Loading
+0 −4
Original line number Original line Diff line number Diff line
@@ -793,10 +793,6 @@ ifdef CONFIG_CC_IS_CLANG
KBUILD_CPPFLAGS += -Qunused-arguments
KBUILD_CPPFLAGS += -Qunused-arguments
# The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable.
# The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable.
KBUILD_CFLAGS += -Wno-gnu
KBUILD_CFLAGS += -Wno-gnu
# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
# source of a reference will be _MergedGlobals and not on of the whitelisted names.
# See modpost pattern 2
KBUILD_CFLAGS += -mno-global-merge
else
else


# gcc inanely warns about local variables called 'main'
# gcc inanely warns about local variables called 'main'
+0 −4
Original line number Original line Diff line number Diff line
@@ -75,10 +75,6 @@ USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -I%,,$(KBUILD_CFLAGS))) \
		-D_FILE_OFFSET_BITS=64 -idirafter $(srctree)/include \
		-D_FILE_OFFSET_BITS=64 -idirafter $(srctree)/include \
		-idirafter $(objtree)/include -D__KERNEL__ -D__UM_HOST__
		-idirafter $(objtree)/include -D__KERNEL__ -D__UM_HOST__


ifdef CONFIG_CC_IS_CLANG
USER_CFLAGS := $(patsubst -mno-global-merge,,$(USER_CFLAGS))
endif

#This will adjust *FLAGS accordingly to the platform.
#This will adjust *FLAGS accordingly to the platform.
include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)


+0 −7
Original line number Original line Diff line number Diff line
@@ -658,13 +658,6 @@ static char *escape_string_value(const char *in)
	return out;
	return out;
}
}


/*
 * Kconfig configuration printer
 *
 * This printer is used when generating the resulting configuration after
 * kconfig invocation and `defconfig' files. Unset symbol might be omitted by
 * passing a non-NULL argument to the printer.
 */
enum output_n { OUTPUT_N, OUTPUT_N_AS_UNSET, OUTPUT_N_NONE };
enum output_n { OUTPUT_N, OUTPUT_N_AS_UNSET, OUTPUT_N_NONE };


static void __print_symbol(FILE *fp, struct symbol *sym, enum output_n output_n,
static void __print_symbol(FILE *fp, struct symbol *sym, enum output_n output_n,
+1 −1
Original line number Original line Diff line number Diff line
@@ -50,7 +50,7 @@ gen_initcalls()
{
{
	info GEN .tmp_initcalls.lds
	info GEN .tmp_initcalls.lds


	${PYTHON} ${srctree}/scripts/jobserver-exec		\
	${PYTHON3} ${srctree}/scripts/jobserver-exec		\
	${PERL} ${srctree}/scripts/generate_initcall_order.pl	\
	${PERL} ${srctree}/scripts/generate_initcall_order.pl	\
		${KBUILD_VMLINUX_OBJS} ${KBUILD_VMLINUX_LIBS}	\
		${KBUILD_VMLINUX_OBJS} ${KBUILD_VMLINUX_LIBS}	\
		> .tmp_initcalls.lds
		> .tmp_initcalls.lds
+1 −1
Original line number Original line Diff line number Diff line
@@ -674,7 +674,7 @@ static void handle_modversion(const struct module *mod,
	unsigned int crc;
	unsigned int crc;


	if (sym->st_shndx == SHN_UNDEF) {
	if (sym->st_shndx == SHN_UNDEF) {
		warn("EXPORT symbol \"%s\" [%s%s] version ...\n"
		warn("EXPORT symbol \"%s\" [%s%s] version generation failed, symbol will not be versioned.\n"
		     "Is \"%s\" prototyped in <asm/asm-prototypes.h>?\n",
		     "Is \"%s\" prototyped in <asm/asm-prototypes.h>?\n",
		     symname, mod->name, mod->is_vmlinux ? "" : ".ko",
		     symname, mod->name, mod->is_vmlinux ? "" : ".ko",
		     symname);
		     symname);