|
@@ -121,6 +121,16 @@ LINUX_MAKE_ENV += \
|
|
|
KBUILD_BUILD_TIMESTAMP="$(shell LC_ALL=C date -d @$(SOURCE_DATE_EPOCH))"
|
|
|
endif
|
|
|
|
|
|
+# gcc-8 started warning about function aliases that have a
|
|
|
+# non-matching prototype. This seems rather useful in general, but it
|
|
|
+# causes tons of warnings in the Linux kernel, where we rely on
|
|
|
+# abusing those aliases for system call entry points, in order to
|
|
|
+# sanitize the arguments passed from user space in registers.
|
|
|
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82435
|
|
|
+ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y)
|
|
|
+LINUX_MAKE_ENV += KCFLAGS=-Wno-attribute-alias
|
|
|
+endif
|
|
|
+
|
|
|
# Get the real Linux version, which tells us where kernel modules are
|
|
|
# going to be installed in the target filesystem.
|
|
|
LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null`
|