Merge 50560ce6a0
("Merge tag 'kbuild-gnu11-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild") into android-mainline
Steps on the way to 5.18-rc1 Resolves conflicts in: Makefile Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ife7abfd4c100789add6803a80b29eb66663c1e0b
This commit is contained in:
commit
cb11849339
@ -5,9 +5,9 @@ Programming Language
|
||||
|
||||
The kernel is written in the C programming language [c-language]_.
|
||||
More precisely, the kernel is typically compiled with ``gcc`` [gcc]_
|
||||
under ``-std=gnu89`` [gcc-c-dialect-options]_: the GNU dialect of ISO C90
|
||||
(including some C99 features). ``clang`` [clang]_ is also supported, see
|
||||
docs on :ref:`Building Linux with Clang/LLVM <kbuild_llvm>`.
|
||||
under ``-std=gnu11`` [gcc-c-dialect-options]_: the GNU dialect of ISO C11.
|
||||
``clang`` [clang]_ is also supported, see docs on
|
||||
:ref:`Building Linux with Clang/LLVM <kbuild_llvm>`.
|
||||
|
||||
This dialect contains many extensions to the language [gnu-extensions]_,
|
||||
and many of them are used within the kernel as a matter of course.
|
||||
|
@ -10,8 +10,8 @@ Linguaggio di programmazione
|
||||
|
||||
Il kernel è scritto nel linguaggio di programmazione C [it-c-language]_.
|
||||
Più precisamente, il kernel viene compilato con ``gcc`` [it-gcc]_ usando
|
||||
l'opzione ``-std=gnu89`` [it-gcc-c-dialect-options]_: il dialetto GNU
|
||||
dello standard ISO C90 (con l'aggiunta di alcune funzionalità da C99).
|
||||
l'opzione ``-std=gnu11`` [it-gcc-c-dialect-options]_: il dialetto GNU
|
||||
dello standard ISO C11.
|
||||
Linux supporta anche ``clang`` [it-clang]_, leggete la documentazione
|
||||
:ref:`Building Linux with Clang/LLVM <kbuild_llvm>`.
|
||||
|
||||
|
@ -9,8 +9,7 @@
|
||||
============
|
||||
|
||||
内核是用C语言 :ref:`c-language <cn_c-language>` 编写的。更准确地说,内核通常是用 :ref:`gcc <cn_gcc>`
|
||||
在 ``-std=gnu89`` :ref:`gcc-c-dialect-options <cn_gcc-c-dialect-options>` 下编译的:ISO C90的 GNU 方言(
|
||||
包括一些C99特性)
|
||||
在 ``-std=gnu11`` :ref:`gcc-c-dialect-options <cn_gcc-c-dialect-options>` 下编译的:ISO C11的 GNU 方言
|
||||
|
||||
这种方言包含对语言 :ref:`gnu-extensions <cn_gnu-extensions>` 的许多扩展,当然,它们许多都在内核中使用。
|
||||
|
||||
|
@ -12,8 +12,7 @@
|
||||
============
|
||||
|
||||
內核是用C語言 :ref:`c-language <tw_c-language>` 編寫的。更準確地說,內核通常是用 :ref:`gcc <tw_gcc>`
|
||||
在 ``-std=gnu89`` :ref:`gcc-c-dialect-options <tw_gcc-c-dialect-options>` 下編譯的:ISO C90的 GNU 方言(
|
||||
包括一些C99特性)
|
||||
在 ``-std=gnu11`` :ref:`gcc-c-dialect-options <tw_gcc-c-dialect-options>` 下編譯的:ISO C11的 GNU 方言
|
||||
|
||||
這種方言包含對語言 :ref:`gnu-extensions <tw_gnu-extensions>` 的許多擴展,當然,它們許多都在內核中使用。
|
||||
|
||||
|
7
Makefile
7
Makefile
@ -450,7 +450,8 @@ HOSTCXX = g++
|
||||
endif
|
||||
|
||||
KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
|
||||
-O2 -fomit-frame-pointer -std=gnu89
|
||||
-O2 -fomit-frame-pointer -std=gnu11 \
|
||||
-Wdeclaration-after-statement
|
||||
KBUILD_USERCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS)
|
||||
KBUILD_USERLDFLAGS := $(USERLDFLAGS)
|
||||
|
||||
@ -534,7 +535,7 @@ KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
|
||||
-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
|
||||
-Werror=implicit-function-declaration -Werror=implicit-int \
|
||||
-Werror=return-type -Wno-format-security \
|
||||
-std=gnu89
|
||||
-std=gnu11
|
||||
KBUILD_CPPFLAGS := -D__KERNEL__
|
||||
KBUILD_AFLAGS_KERNEL :=
|
||||
KBUILD_CFLAGS_KERNEL :=
|
||||
@ -804,7 +805,7 @@ KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
|
||||
|
||||
ifdef CONFIG_CC_IS_CLANG
|
||||
KBUILD_CPPFLAGS += -Qunused-arguments
|
||||
# The kernel builds with '-std=gnu89' so use of GNU extensions is acceptable.
|
||||
# The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable.
|
||||
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.
|
||||
|
@ -68,7 +68,8 @@ VDSO_CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
|
||||
-fno-strict-aliasing -fno-common \
|
||||
-Werror-implicit-function-declaration \
|
||||
-Wno-format-security \
|
||||
-std=gnu89
|
||||
-Wdeclaration-after-statement \
|
||||
-std=gnu11
|
||||
VDSO_CFLAGS += -O2
|
||||
# Some useful compiler-dependent flags from top-level Makefile
|
||||
VDSO_CFLAGS += $(call cc32-option,-Wdeclaration-after-statement,)
|
||||
|
@ -18,6 +18,7 @@ subdir-ccflags-y += -Wno-unused-parameter
|
||||
subdir-ccflags-y += -Wno-type-limits
|
||||
subdir-ccflags-y += -Wno-missing-field-initializers
|
||||
subdir-ccflags-y += -Wno-sign-compare
|
||||
subdir-ccflags-y += -Wno-shift-negative-value
|
||||
subdir-ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
|
||||
subdir-ccflags-y += $(call cc-disable-warning, frame-address)
|
||||
subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror
|
||||
|
@ -12,7 +12,8 @@ CFLAGS += -std=gnu99 -Wall -Wextra -g \
|
||||
-Wredundant-decls \
|
||||
-Wcast-align \
|
||||
-Wsign-compare \
|
||||
-Wno-missing-field-initializers
|
||||
-Wno-missing-field-initializers \
|
||||
-Wno-shift-negative-value
|
||||
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
|
||||
|
@ -17,6 +17,7 @@ subdir-ccflags-y += $(condflags)
|
||||
subdir-ccflags-y += -Wno-missing-field-initializers
|
||||
subdir-ccflags-y += -Wno-sign-compare
|
||||
subdir-ccflags-y += -Wno-type-limits
|
||||
subdir-ccflags-y += -Wno-shift-negative-value
|
||||
|
||||
obj-$(CONFIG_BTRFS_FS) := btrfs.o
|
||||
|
||||
|
@ -36,6 +36,7 @@ KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation)
|
||||
KBUILD_CFLAGS += -Wno-missing-field-initializers
|
||||
KBUILD_CFLAGS += -Wno-sign-compare
|
||||
KBUILD_CFLAGS += -Wno-type-limits
|
||||
KBUILD_CFLAGS += -Wno-shift-negative-value
|
||||
|
||||
KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN1
|
||||
|
||||
|
@ -839,8 +839,10 @@ static int match(const char *sym, const char * const pat[])
|
||||
{
|
||||
const char *p;
|
||||
while (*pat) {
|
||||
const char *endp;
|
||||
|
||||
p = *pat++;
|
||||
const char *endp = p + strlen(p) - 1;
|
||||
endp = p + strlen(p) - 1;
|
||||
|
||||
/* "*foo*" */
|
||||
if (*p == '*' && *endp == '*') {
|
||||
|
Loading…
Reference in New Issue
Block a user