forked from Minki/linux
Kbuild updates for v4.12
- Improve Clang support - Clean up various Makefiles - Improve build log visibility (objtool, alpha, ia64) - Improve compiler flag evaluation for better build performance - Fix GCC version-dependent warning - Fix genksyms -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJZE6qLAAoJED2LAQed4NsGk8YP/R7ZajSruFRmathN+wO1GEUv +1cIJVpCv8OpM9fCSIuV3udAUUrH7Sj5IgHdg4P05/qmlgsG/4kUL5r9RyKdwjrA dWqp8KKh40/JAfYNlMcRGz3cB4csvhMhnzZgV0zMSM1BBPP/xu2bCXrD4f/TGFMg q04hHkmkesV0RUqOyPsCrKusxIsHhaGOmYUB285omGHO85IRItAW5CPh6sMhoJuQ x7d5ZaXKCUH2fHXVMaw7gXcg28loUfKVJcU+em/0YZxoNZ31y6brM5YY7buF4FoJ 5RTXlvm12TUygY3fFCb3NURDSILHmL8Wk2wgFgYAC3NnXH1KJDOM4xxKXIVtTLGw d71/hAurlLLZzjwmdUSSrhD+1OjFRZ4a5TJK/o3xehKUzYmFB49bcSKwdQ4H0jnM m4iqNHw3rK+LJ0Zp71Ki3k3mcSW9yovpnJ2Uzi5Oz7g+oYAob7SZjejL2KsCtxZH sQZQE5YeZj39Ot1K3Zw9CWx3JcUXWKtNu8cH7hXBgCyKS7H56xgtmib/S2yjXGu0 YIaMFJWTEB+FLrHRB4fYmeLG/kXIRn+N8Gy+/QUeXEHp4dFTV/il4Q2W+JAG35MS 3IGMr8PEZA7gTSYDQ/2kpv0HXDCwYSDxN3p8dlrnLy1bokVJX7Nk1pNq6gXfOl/E 4zIj3UsK0gPyO+CgprwC =Nka/ -----END PGP SIGNATURE----- Merge tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild Pull Kbuild updates from Masahiro Yamada: - improve Clang support - clean up various Makefiles - improve build log visibility (objtool, alpha, ia64) - improve compiler flag evaluation for better build performance - fix GCC version-dependent warning - fix genksyms * tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (23 commits) kbuild: dtbinst: remove unnecessary __dtbs_install_prep target ia64: beatify build log for gate.so and gate-syms.o alpha: make short build log available for division routines alpha: merge build rules of division routines alpha: add $(src)/ rather than $(obj)/ to make source file path Makefile: evaluate LDFLAGS_BUILD_ID only once objtool: make it visible in make V=1 output kbuild: clang: add -no-integrated-as to KBUILD_[AC]FLAGS kbuild: Add support to generate LLVM assembly files kbuild: Add better clang cross build support kbuild: drop -Wno-unknown-warning-option from clang options kbuild: fix asm-offset generation to work with clang kbuild: consolidate redundant sed script ASM offset generation frv: Use OFFSET macro in DEF_*REG() kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7 kbuild: Consolidate header generation from ASM offset information kbuild: use -Oz instead of -Os when using clang kbuild, LLVMLinux: Add -Werror to cc-option to support clang Kbuild: make designated_init attribute fatal kbuild: drop unneeded patterns '.*.orig' and '.*.rej' from distclean ...
This commit is contained in:
commit
593043d35d
1
.gitignore
vendored
1
.gitignore
vendored
@ -33,6 +33,7 @@
|
||||
*.lzo
|
||||
*.patch
|
||||
*.gcno
|
||||
*.ll
|
||||
modules.builtin
|
||||
Module.symvers
|
||||
*.dwo
|
||||
|
25
Kbuild
25
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
|
||||
|
||||
|
41
Makefile
41
Makefile
@ -632,13 +632,9 @@ include arch/$(SRCARCH)/Makefile
|
||||
KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
|
||||
|
||||
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
||||
KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
|
||||
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,)
|
||||
@ -698,8 +694,16 @@ 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)
|
||||
@ -710,10 +714,12 @@ 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.
|
||||
# Use make W=1 to enable them (see scripts/Makefile.build)
|
||||
# Use make W=1 to enable them (see scripts/Makefile.extrawarn)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
|
||||
endif
|
||||
@ -773,6 +779,11 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
||||
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
|
||||
endif
|
||||
|
||||
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
||||
KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
|
||||
KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
|
||||
endif
|
||||
|
||||
# arch Makefile may override CC so keep this after arch Makefile is included
|
||||
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
|
||||
CHECKFLAGS += $(NOSTDINC_FLAGS)
|
||||
@ -801,6 +812,9 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
|
||||
# enforce correct pointer usage
|
||||
KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
|
||||
|
||||
# Require designated initializers for all marked structures
|
||||
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
|
||||
|
||||
# use the deterministic mode of AR if available
|
||||
KBUILD_ARFLAGS := $(call ar-option,D)
|
||||
|
||||
@ -815,7 +829,7 @@ KBUILD_AFLAGS += $(ARCH_AFLAGS) $(KAFLAGS)
|
||||
KBUILD_CFLAGS += $(ARCH_CFLAGS) $(KCFLAGS)
|
||||
|
||||
# Use --build-id when available.
|
||||
LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
|
||||
LDFLAGS_BUILD_ID := $(patsubst -Wl$(comma)%,%,\
|
||||
$(call cc-ldoption, -Wl$(comma)--build-id,))
|
||||
KBUILD_LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
|
||||
LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)
|
||||
@ -1315,8 +1329,8 @@ PHONY += distclean
|
||||
distclean: mrproper
|
||||
@find $(srctree) $(RCS_FIND_IGNORE) \
|
||||
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
|
||||
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
|
||||
-o -name '.*.rej' -o -name '*%' -o -name 'core' \) \
|
||||
-o -name '*.bak' -o -name '#*#' -o -name '*%' \
|
||||
-o -name 'core' \) \
|
||||
-type f -print | xargs rm -f
|
||||
|
||||
|
||||
@ -1361,6 +1375,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'
|
||||
@ -1549,6 +1565,7 @@ clean: $(clean-dirs)
|
||||
-o -name '*.symtypes' -o -name 'modules.order' \
|
||||
-o -name modules.builtin -o -name '.tmp_*.o.*' \
|
||||
-o -name '*.c.[012]*.*' \
|
||||
-o -name '*.ll' \
|
||||
-o -name '*.gcno' \) -type f -print | xargs rm -f
|
||||
|
||||
# Generate tags for editors
|
||||
@ -1652,6 +1669,8 @@ endif
|
||||
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
|
||||
%.symtypes: %.c prepare scripts FORCE
|
||||
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
|
||||
%.ll: %.c prepare scripts FORCE
|
||||
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
|
||||
|
||||
# Modules
|
||||
/: prepare scripts FORCE
|
||||
|
@ -46,11 +46,6 @@ AFLAGS___remqu.o = -DREM
|
||||
AFLAGS___divlu.o = -DDIV -DINTSIZE
|
||||
AFLAGS___remlu.o = -DREM -DINTSIZE
|
||||
|
||||
$(obj)/__divqu.o: $(obj)/$(ev6-y)divide.S
|
||||
$(cmd_as_o_S)
|
||||
$(obj)/__remqu.o: $(obj)/$(ev6-y)divide.S
|
||||
$(cmd_as_o_S)
|
||||
$(obj)/__divlu.o: $(obj)/$(ev6-y)divide.S
|
||||
$(cmd_as_o_S)
|
||||
$(obj)/__remlu.o: $(obj)/$(ev6-y)divide.S
|
||||
$(cmd_as_o_S)
|
||||
$(addprefix $(obj)/,__divqu.o __remqu.o __divlu.o __remlu.o): \
|
||||
$(src)/$(ev6-y)divide.S FORCE
|
||||
$(call if_changed_rule,as_o_S)
|
||||
|
@ -14,21 +14,10 @@
|
||||
#include <asm/thread_info.h>
|
||||
#include <asm/gdb-stub.h>
|
||||
|
||||
#define DEF_PTREG(sym, reg) \
|
||||
asm volatile("\n->" #sym " %0 offsetof(struct pt_regs, " #reg ")" \
|
||||
: : "i" (offsetof(struct pt_regs, reg)))
|
||||
|
||||
#define DEF_IREG(sym, reg) \
|
||||
asm volatile("\n->" #sym " %0 offsetof(struct user_context, " #reg ")" \
|
||||
: : "i" (offsetof(struct user_context, reg)))
|
||||
|
||||
#define DEF_FREG(sym, reg) \
|
||||
asm volatile("\n->" #sym " %0 offsetof(struct user_context, " #reg ")" \
|
||||
: : "i" (offsetof(struct user_context, reg)))
|
||||
|
||||
#define DEF_0REG(sym, reg) \
|
||||
asm volatile("\n->" #sym " %0 offsetof(struct frv_frame0, " #reg ")" \
|
||||
: : "i" (offsetof(struct frv_frame0, reg)))
|
||||
#define DEF_PTREG(sym, reg) OFFSET(sym, pt_regs, reg)
|
||||
#define DEF_IREG(sym, reg) OFFSET(sym, user_context, reg)
|
||||
#define DEF_FREG(sym, reg) OFFSET(sym, user_context, reg)
|
||||
#define DEF_0REG(sym, reg) OFFSET(sym, frv_frame0, reg)
|
||||
|
||||
void foo(void)
|
||||
{
|
||||
|
@ -50,32 +50,10 @@ CFLAGS_traps.o += -mfixed-range=f2-f5,f16-f31
|
||||
# The gate DSO image is built using a special linker script.
|
||||
include $(src)/Makefile.gate
|
||||
|
||||
# Calculate NR_IRQ = max(IA64_NATIVE_NR_IRQS, XEN_NR_IRQS, ...) based on config
|
||||
define sed-y
|
||||
"/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"
|
||||
endef
|
||||
quiet_cmd_nr_irqs = GEN $@
|
||||
define cmd_nr_irqs
|
||||
(set -e; \
|
||||
echo "#ifndef __ASM_NR_IRQS_H__"; \
|
||||
echo "#define __ASM_NR_IRQS_H__"; \
|
||||
echo "/*"; \
|
||||
echo " * DO NOT MODIFY."; \
|
||||
echo " *"; \
|
||||
echo " * This file was generated by Kbuild"; \
|
||||
echo " *"; \
|
||||
echo " */"; \
|
||||
echo ""; \
|
||||
sed -ne $(sed-y) $<; \
|
||||
echo ""; \
|
||||
echo "#endif" ) > $@
|
||||
endef
|
||||
|
||||
# We use internal kbuild rules to avoid the "is up to date" message from make
|
||||
arch/$(SRCARCH)/kernel/nr-irqs.s: arch/$(SRCARCH)/kernel/nr-irqs.c
|
||||
$(Q)mkdir -p $(dir $@)
|
||||
$(call if_changed_dep,cc_s_c)
|
||||
|
||||
include/generated/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s
|
||||
$(Q)mkdir -p $(dir $@)
|
||||
$(call cmd,nr_irqs)
|
||||
include/generated/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s FORCE
|
||||
$(call filechk,offsets,__ASM_NR_IRQS_H__)
|
||||
|
@ -6,7 +6,7 @@ extra-y += gate.so gate-syms.o gate.lds gate.o
|
||||
|
||||
CPPFLAGS_gate.lds := -P -C -U$(ARCH)
|
||||
|
||||
quiet_cmd_gate = GATE $@
|
||||
quiet_cmd_gate = GATE $@
|
||||
cmd_gate = $(CC) -nostdlib $(GATECFLAGS_$(@F)) -Wl,-T,$(filter-out FORCE,$^) -o $@
|
||||
|
||||
GATECFLAGS_gate.so = -shared -s -Wl,-soname=linux-gate.so.1 \
|
||||
|
@ -2,14 +2,14 @@
|
||||
#define __LINUX_KBUILD_H
|
||||
|
||||
#define DEFINE(sym, val) \
|
||||
asm volatile("\n->" #sym " %0 " #val : : "i" (val))
|
||||
asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
|
||||
|
||||
#define BLANK() asm volatile("\n->" : : )
|
||||
#define BLANK() asm volatile("\n.ascii \"->\"" : : )
|
||||
|
||||
#define OFFSET(sym, str, mem) \
|
||||
DEFINE(sym, offsetof(struct str, mem))
|
||||
|
||||
#define COMMENT(x) \
|
||||
asm volatile("\n->#" x)
|
||||
asm volatile("\n.ascii \"->#" x "\"")
|
||||
|
||||
#endif
|
||||
|
@ -116,12 +116,12 @@ CC_OPTION_CFLAGS = $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS))
|
||||
# Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
|
||||
|
||||
cc-option = $(call try-run,\
|
||||
$(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
|
||||
$(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
|
||||
|
||||
# cc-option-yn
|
||||
# Usage: flag := $(call cc-option-yn,-march=winchip-c6)
|
||||
cc-option-yn = $(call try-run,\
|
||||
$(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n)
|
||||
$(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n)
|
||||
|
||||
# cc-option-align
|
||||
# Prefix align with either -falign or -malign
|
||||
@ -131,7 +131,7 @@ cc-option-align = $(subst -functions=0,,\
|
||||
# cc-disable-warning
|
||||
# Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable)
|
||||
cc-disable-warning = $(call try-run,\
|
||||
$(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
|
||||
$(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
|
||||
|
||||
# cc-name
|
||||
# Expands to either gcc or clang
|
||||
|
@ -177,6 +177,14 @@ cmd_cc_symtypes_c = \
|
||||
$(obj)/%.symtypes : $(src)/%.c FORCE
|
||||
$(call cmd,cc_symtypes_c)
|
||||
|
||||
# LLVM assembly
|
||||
# Generate .ll files from .c
|
||||
quiet_cmd_cc_ll_c = CC $(quiet_modtag) $@
|
||||
cmd_cc_ll_c = $(CC) $(c_flags) -emit-llvm -S -o $@ $<
|
||||
|
||||
$(obj)/%.ll: $(src)/%.c FORCE
|
||||
$(call if_changed_dep,cc_ll_c)
|
||||
|
||||
# C (.c) files
|
||||
# The C file is compiled and updated dependency information is generated.
|
||||
# (See cmd_cc_o_c + relevant part of rule_cc_o_c)
|
||||
@ -272,14 +280,14 @@ define rule_cc_o_c
|
||||
$(call echo-cmd,checksrc) $(cmd_checksrc) \
|
||||
$(call cmd_and_fixdep,cc_o_c) \
|
||||
$(cmd_modversions_c) \
|
||||
$(cmd_objtool) \
|
||||
$(call echo-cmd,objtool) $(cmd_objtool) \
|
||||
$(call echo-cmd,record_mcount) $(cmd_record_mcount)
|
||||
endef
|
||||
|
||||
define rule_as_o_S
|
||||
$(call cmd_and_fixdep,as_o_S) \
|
||||
$(cmd_modversions_S) \
|
||||
$(cmd_objtool)
|
||||
$(call echo-cmd,objtool) $(cmd_objtool)
|
||||
endef
|
||||
|
||||
# List module undefined symbols (or empty line if not enabled)
|
||||
|
@ -20,12 +20,6 @@ include include/config/auto.conf
|
||||
include scripts/Kbuild.include
|
||||
include $(src)/Makefile
|
||||
|
||||
PHONY += __dtbs_install_prep
|
||||
__dtbs_install_prep:
|
||||
ifeq ("$(dtbinst-root)", "$(obj)")
|
||||
$(Q)mkdir -p $(INSTALL_DTBS_PATH)
|
||||
endif
|
||||
|
||||
dtbinst-files := $(dtb-y)
|
||||
dtbinst-dirs := $(dts-dirs)
|
||||
|
||||
@ -35,8 +29,6 @@ quiet_cmd_dtb_install = INSTALL $<
|
||||
|
||||
install-dir = $(patsubst $(dtbinst-root)%,$(INSTALL_DTBS_PATH)%,$(obj))
|
||||
|
||||
$(dtbinst-files) $(dtbinst-dirs): | __dtbs_install_prep
|
||||
|
||||
$(dtbinst-files): %.dtb: $(obj)/%.dtb
|
||||
$(call cmd,dtb_install,$(install-dir))
|
||||
|
||||
|
@ -64,7 +64,6 @@ ifeq ($(cc-name),clang)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, initializer-overrides)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-value)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, format)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, unknown-warning-option)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, sign-compare)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, format-zero-length)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, uninitialized)
|
||||
|
@ -420,3 +420,34 @@ quiet_cmd_xzmisc = XZMISC $@
|
||||
cmd_xzmisc = (cat $(filter-out FORCE,$^) | \
|
||||
xz --check=crc32 --lzma2=dict=1MiB) > $@ || \
|
||||
(rm -f $@ ; false)
|
||||
|
||||
# ASM offsets
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Default sed regexp - multiline due to syntax constraints
|
||||
#
|
||||
# Use [:space:] because LLVM's integrated assembler inserts <tab> around
|
||||
# the .ascii directive whereas GCC keeps the <space> as-is.
|
||||
define sed-offsets
|
||||
's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; \
|
||||
/^->/{s:->#\(.*\):/* \1 */:; \
|
||||
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-offsets); \
|
||||
echo ""; \
|
||||
echo "#endif" )
|
||||
endef
|
||||
|
@ -440,16 +440,16 @@ union yyalloc
|
||||
/* YYFINAL -- State number of the termination state. */
|
||||
#define YYFINAL 4
|
||||
/* YYLAST -- Last index in YYTABLE. */
|
||||
#define YYLAST 524
|
||||
#define YYLAST 522
|
||||
|
||||
/* YYNTOKENS -- Number of terminals. */
|
||||
#define YYNTOKENS 55
|
||||
/* YYNNTS -- Number of nonterminals. */
|
||||
#define YYNNTS 49
|
||||
/* YYNRULES -- Number of rules. */
|
||||
#define YYNRULES 134
|
||||
#define YYNRULES 133
|
||||
/* YYNRULES -- Number of states. */
|
||||
#define YYNSTATES 189
|
||||
#define YYNSTATES 187
|
||||
|
||||
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
||||
#define YYUNDEFTOK 2
|
||||
@ -506,13 +506,13 @@ static const yytype_uint16 yyprhs[] =
|
||||
97, 101, 105, 109, 112, 115, 118, 120, 122, 124,
|
||||
126, 128, 130, 132, 134, 136, 138, 140, 142, 145,
|
||||
146, 148, 150, 153, 155, 157, 159, 161, 164, 166,
|
||||
168, 170, 175, 180, 183, 187, 191, 194, 196, 198,
|
||||
200, 205, 210, 213, 217, 221, 224, 226, 230, 231,
|
||||
233, 235, 239, 242, 245, 247, 248, 250, 252, 257,
|
||||
262, 265, 269, 273, 277, 278, 280, 283, 287, 291,
|
||||
292, 294, 296, 299, 303, 306, 307, 309, 311, 315,
|
||||
318, 321, 323, 326, 327, 330, 334, 339, 341, 345,
|
||||
347, 351, 354, 355, 357
|
||||
168, 170, 175, 180, 183, 187, 190, 192, 194, 196,
|
||||
201, 206, 209, 213, 217, 220, 222, 226, 227, 229,
|
||||
231, 235, 238, 241, 243, 244, 246, 248, 253, 258,
|
||||
261, 265, 269, 273, 274, 276, 279, 283, 287, 288,
|
||||
290, 292, 295, 299, 302, 303, 305, 307, 311, 314,
|
||||
317, 319, 322, 323, 326, 330, 335, 337, 341, 343,
|
||||
347, 350, 351, 353
|
||||
};
|
||||
|
||||
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
||||
@ -536,25 +536,24 @@ static const yytype_int8 yyrhs[] =
|
||||
74, 75, -1, 8, -1, 27, -1, 32, -1, 18,
|
||||
-1, 72, 76, -1, 77, -1, 39, -1, 43, -1,
|
||||
77, 49, 80, 50, -1, 77, 49, 1, 50, -1,
|
||||
77, 35, -1, 49, 76, 50, -1, 49, 1, 50,
|
||||
-1, 72, 78, -1, 79, -1, 39, -1, 43, -1,
|
||||
79, 49, 80, 50, -1, 79, 49, 1, 50, -1,
|
||||
79, 35, -1, 49, 78, 50, -1, 49, 1, 50,
|
||||
-1, 81, 38, -1, 81, -1, 82, 48, 38, -1,
|
||||
-1, 82, -1, 83, -1, 82, 48, 83, -1, 67,
|
||||
84, -1, 72, 84, -1, 85, -1, -1, 39, -1,
|
||||
43, -1, 85, 49, 80, 50, -1, 85, 49, 1,
|
||||
50, -1, 85, 35, -1, 49, 84, 50, -1, 49,
|
||||
1, 50, -1, 66, 76, 34, -1, -1, 88, -1,
|
||||
52, 36, -1, 53, 90, 47, -1, 53, 1, 47,
|
||||
-1, -1, 91, -1, 92, -1, 91, 92, -1, 66,
|
||||
93, 46, -1, 1, 46, -1, -1, 94, -1, 95,
|
||||
-1, 94, 48, 95, -1, 78, 97, -1, 39, 96,
|
||||
-1, 96, -1, 54, 36, -1, -1, 97, 32, -1,
|
||||
53, 99, 47, -1, 53, 99, 48, 47, -1, 100,
|
||||
-1, 99, 48, 100, -1, 39, -1, 39, 52, 36,
|
||||
-1, 31, 46, -1, -1, 31, -1, 30, 49, 39,
|
||||
50, 46, -1
|
||||
77, 35, -1, 49, 76, 50, -1, 72, 78, -1,
|
||||
79, -1, 39, -1, 43, -1, 79, 49, 80, 50,
|
||||
-1, 79, 49, 1, 50, -1, 79, 35, -1, 49,
|
||||
78, 50, -1, 49, 1, 50, -1, 81, 38, -1,
|
||||
81, -1, 82, 48, 38, -1, -1, 82, -1, 83,
|
||||
-1, 82, 48, 83, -1, 67, 84, -1, 72, 84,
|
||||
-1, 85, -1, -1, 39, -1, 43, -1, 85, 49,
|
||||
80, 50, -1, 85, 49, 1, 50, -1, 85, 35,
|
||||
-1, 49, 84, 50, -1, 49, 1, 50, -1, 66,
|
||||
76, 34, -1, -1, 88, -1, 52, 36, -1, 53,
|
||||
90, 47, -1, 53, 1, 47, -1, -1, 91, -1,
|
||||
92, -1, 91, 92, -1, 66, 93, 46, -1, 1,
|
||||
46, -1, -1, 94, -1, 95, -1, 94, 48, 95,
|
||||
-1, 78, 97, -1, 39, 96, -1, 96, -1, 54,
|
||||
36, -1, -1, 97, 32, -1, 53, 99, 47, -1,
|
||||
53, 99, 48, 47, -1, 100, -1, 99, 48, 100,
|
||||
-1, 39, -1, 39, 52, 36, -1, 31, 46, -1,
|
||||
-1, 31, -1, 30, 49, 39, 50, 46, -1
|
||||
};
|
||||
|
||||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||
@ -567,13 +566,13 @@ static const yytype_uint16 yyrline[] =
|
||||
238, 240, 242, 247, 250, 251, 255, 256, 257, 258,
|
||||
259, 260, 261, 262, 263, 264, 265, 266, 270, 275,
|
||||
276, 280, 281, 285, 285, 285, 286, 294, 295, 299,
|
||||
308, 317, 319, 321, 323, 325, 332, 333, 337, 338,
|
||||
339, 341, 343, 345, 347, 352, 353, 354, 358, 359,
|
||||
363, 364, 369, 374, 376, 380, 381, 389, 393, 395,
|
||||
397, 399, 401, 406, 415, 416, 421, 426, 427, 431,
|
||||
432, 436, 437, 441, 443, 448, 449, 453, 454, 458,
|
||||
459, 460, 464, 468, 469, 473, 474, 478, 479, 482,
|
||||
487, 495, 499, 500, 504
|
||||
308, 317, 319, 321, 323, 330, 331, 335, 336, 337,
|
||||
339, 341, 343, 345, 350, 351, 352, 356, 357, 361,
|
||||
362, 367, 372, 374, 378, 379, 387, 391, 393, 395,
|
||||
397, 399, 404, 413, 414, 419, 424, 425, 429, 430,
|
||||
434, 435, 439, 441, 446, 447, 451, 452, 456, 457,
|
||||
458, 462, 466, 467, 471, 472, 476, 477, 480, 485,
|
||||
493, 497, 498, 502
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -636,13 +635,13 @@ static const yytype_uint8 yyr1[] =
|
||||
70, 70, 70, 70, 70, 70, 71, 71, 71, 71,
|
||||
71, 71, 71, 71, 71, 71, 71, 71, 72, 73,
|
||||
73, 74, 74, 75, 75, 75, 75, 76, 76, 77,
|
||||
77, 77, 77, 77, 77, 77, 78, 78, 79, 79,
|
||||
79, 79, 79, 79, 79, 80, 80, 80, 81, 81,
|
||||
82, 82, 83, 84, 84, 85, 85, 85, 85, 85,
|
||||
85, 85, 85, 86, 87, 87, 88, 89, 89, 90,
|
||||
90, 91, 91, 92, 92, 93, 93, 94, 94, 95,
|
||||
95, 95, 96, 97, 97, 98, 98, 99, 99, 100,
|
||||
100, 101, 102, 102, 103
|
||||
77, 77, 77, 77, 77, 78, 78, 79, 79, 79,
|
||||
79, 79, 79, 79, 80, 80, 80, 81, 81, 82,
|
||||
82, 83, 84, 84, 85, 85, 85, 85, 85, 85,
|
||||
85, 85, 86, 87, 87, 88, 89, 89, 90, 90,
|
||||
91, 91, 92, 92, 93, 93, 94, 94, 95, 95,
|
||||
95, 96, 97, 97, 98, 98, 99, 99, 100, 100,
|
||||
101, 102, 102, 103
|
||||
};
|
||||
|
||||
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
||||
@ -655,13 +654,13 @@ static const yytype_uint8 yyr2[] =
|
||||
3, 3, 3, 2, 2, 2, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
|
||||
1, 1, 2, 1, 1, 1, 1, 2, 1, 1,
|
||||
1, 4, 4, 2, 3, 3, 2, 1, 1, 1,
|
||||
4, 4, 2, 3, 3, 2, 1, 3, 0, 1,
|
||||
1, 3, 2, 2, 1, 0, 1, 1, 4, 4,
|
||||
2, 3, 3, 3, 0, 1, 2, 3, 3, 0,
|
||||
1, 1, 2, 3, 2, 0, 1, 1, 3, 2,
|
||||
2, 1, 2, 0, 2, 3, 4, 1, 3, 1,
|
||||
3, 2, 0, 1, 5
|
||||
1, 4, 4, 2, 3, 2, 1, 1, 1, 4,
|
||||
4, 2, 3, 3, 2, 1, 3, 0, 1, 1,
|
||||
3, 2, 2, 1, 0, 1, 1, 4, 4, 2,
|
||||
3, 3, 3, 0, 1, 2, 3, 3, 0, 1,
|
||||
1, 2, 3, 2, 0, 1, 1, 3, 2, 2,
|
||||
1, 2, 0, 2, 3, 4, 1, 3, 1, 3,
|
||||
2, 0, 1, 5
|
||||
};
|
||||
|
||||
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
|
||||
@ -675,189 +674,189 @@ static const yytype_uint8 yydefact[] =
|
||||
0, 56, 0, 0, 65, 36, 57, 5, 10, 17,
|
||||
23, 24, 26, 27, 33, 34, 11, 12, 13, 14,
|
||||
15, 39, 0, 43, 6, 37, 0, 44, 22, 38,
|
||||
45, 0, 0, 131, 69, 70, 0, 59, 0, 18,
|
||||
19, 0, 132, 68, 25, 42, 129, 0, 127, 22,
|
||||
40, 0, 115, 0, 0, 111, 9, 17, 41, 95,
|
||||
0, 0, 0, 0, 58, 60, 61, 16, 0, 67,
|
||||
133, 103, 123, 73, 0, 0, 125, 0, 7, 114,
|
||||
108, 78, 79, 0, 0, 0, 123, 77, 0, 116,
|
||||
117, 121, 107, 0, 112, 132, 96, 57, 0, 95,
|
||||
92, 94, 35, 0, 75, 74, 62, 20, 104, 0,
|
||||
0, 86, 89, 90, 130, 126, 128, 120, 0, 78,
|
||||
0, 122, 76, 119, 82, 0, 113, 0, 0, 97,
|
||||
0, 93, 100, 0, 134, 124, 0, 21, 105, 72,
|
||||
71, 85, 0, 84, 83, 0, 0, 118, 102, 101,
|
||||
0, 0, 106, 87, 91, 81, 80, 99, 98
|
||||
45, 0, 0, 130, 69, 70, 0, 59, 0, 18,
|
||||
19, 0, 131, 68, 25, 42, 128, 0, 126, 22,
|
||||
40, 0, 114, 0, 0, 110, 9, 17, 41, 94,
|
||||
0, 0, 0, 58, 60, 61, 16, 0, 67, 132,
|
||||
102, 122, 73, 0, 0, 124, 0, 7, 113, 107,
|
||||
77, 78, 0, 0, 0, 122, 76, 0, 115, 116,
|
||||
120, 106, 0, 111, 131, 95, 57, 0, 94, 91,
|
||||
93, 35, 0, 74, 62, 20, 103, 0, 0, 85,
|
||||
88, 89, 129, 125, 127, 119, 0, 77, 0, 121,
|
||||
75, 118, 81, 0, 112, 0, 0, 96, 0, 92,
|
||||
99, 0, 133, 123, 0, 21, 104, 72, 71, 84,
|
||||
0, 83, 82, 0, 0, 117, 101, 100, 0, 0,
|
||||
105, 86, 90, 80, 79, 98, 97
|
||||
};
|
||||
|
||||
/* YYDEFGOTO[NTERM-NUM]. */
|
||||
static const yytype_int16 yydefgoto[] =
|
||||
{
|
||||
-1, 1, 2, 3, 37, 79, 58, 38, 68, 69,
|
||||
70, 82, 40, 41, 42, 43, 44, 71, 94, 95,
|
||||
45, 125, 73, 116, 117, 140, 141, 142, 143, 130,
|
||||
131, 46, 167, 168, 57, 83, 84, 85, 118, 119,
|
||||
120, 121, 138, 53, 77, 78, 47, 102, 48
|
||||
70, 82, 40, 41, 42, 43, 44, 71, 93, 94,
|
||||
45, 124, 73, 115, 116, 138, 139, 140, 141, 129,
|
||||
130, 46, 165, 166, 57, 83, 84, 85, 117, 118,
|
||||
119, 120, 136, 53, 77, 78, 47, 101, 48
|
||||
};
|
||||
|
||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||
STATE-NUM. */
|
||||
#define YYPACT_NINF -111
|
||||
#define YYPACT_NINF -94
|
||||
static const yytype_int16 yypact[] =
|
||||
{
|
||||
-111, 13, -111, 210, -111, -111, 28, -111, -111, -111,
|
||||
-111, -111, -27, -111, 44, -111, -111, -111, -111, -111,
|
||||
-111, -111, -111, -111, -24, -111, -20, -111, -111, -111,
|
||||
31, -111, 32, 42, -111, -111, -111, -111, -111, 34,
|
||||
481, -111, -111, -111, -111, -111, -111, -111, -111, -111,
|
||||
-111, 51, 56, -111, -111, 52, 108, -111, 481, 52,
|
||||
-111, 481, 58, -111, -111, -111, 19, 0, 54, 55,
|
||||
-111, 34, 30, -18, -111, -111, 68, -25, -111, 481,
|
||||
-111, 45, 33, 59, 159, -111, -111, 34, -111, 395,
|
||||
57, 60, 81, 88, -111, 0, -111, -111, 34, -111,
|
||||
-111, -111, -111, -111, 257, 72, -111, -23, -111, -111,
|
||||
-111, 85, -111, 20, 106, 47, -111, -10, 97, 96,
|
||||
-111, -111, -111, 99, -111, 115, -111, -111, 5, 50,
|
||||
-111, 11, -111, 102, -111, -111, -111, -111, -22, 100,
|
||||
103, 111, 104, -111, -111, -111, -111, -111, 113, -111,
|
||||
121, -111, -111, 124, -111, 303, -111, 33, 132, -111,
|
||||
139, -111, -111, 349, -111, -111, 122, -111, -111, -111,
|
||||
-111, -111, 442, -111, -111, 140, 143, -111, -111, -111,
|
||||
144, 145, -111, -111, -111, -111, -111, -111, -111
|
||||
-94, 15, -94, 208, -94, -94, 34, -94, -94, -94,
|
||||
-94, -94, -27, -94, -5, -94, -94, -94, -94, -94,
|
||||
-94, -94, -94, -94, -25, -94, -16, -94, -94, -94,
|
||||
-4, -94, 19, -24, -94, -94, -94, -94, -94, 24,
|
||||
479, -94, -94, -94, -94, -94, -94, -94, -94, -94,
|
||||
-94, 29, 48, -94, -94, 37, 106, -94, 479, 37,
|
||||
-94, 479, 54, -94, -94, -94, 24, -2, 49, 53,
|
||||
-94, 24, -14, -11, -94, -94, 47, 38, -94, 479,
|
||||
-94, 51, 23, 55, 157, -94, -94, 24, -94, 393,
|
||||
56, 58, 68, -94, -2, -94, -94, 24, -94, -94,
|
||||
-94, -94, -94, 255, 67, -94, 5, -94, -94, -94,
|
||||
50, -94, 7, 69, 40, -94, -8, 83, 88, -94,
|
||||
-94, -94, 91, -94, 109, -94, -94, 4, 45, -94,
|
||||
16, -94, 95, -94, -94, -94, -23, 92, 93, 108,
|
||||
96, -94, -94, -94, -94, -94, 97, -94, 98, -94,
|
||||
-94, 118, -94, 301, -94, 23, 101, -94, 104, -94,
|
||||
-94, 347, -94, -94, 120, -94, -94, -94, -94, -94,
|
||||
440, -94, -94, 111, 119, -94, -94, -94, 130, 137,
|
||||
-94, -94, -94, -94, -94, -94, -94
|
||||
};
|
||||
|
||||
/* YYPGOTO[NTERM-NUM]. */
|
||||
static const yytype_int16 yypgoto[] =
|
||||
{
|
||||
-111, -111, 160, -111, -111, -111, -111, -51, -111, -111,
|
||||
98, -1, -61, -37, -111, -111, -111, -78, -111, -111,
|
||||
-53, -30, -111, -66, -111, -110, -111, -111, -60, -63,
|
||||
-111, -111, -111, -111, -21, -111, -111, 116, -111, -111,
|
||||
40, 90, 83, 152, -111, 105, -111, -111, -111
|
||||
-94, -94, 158, -94, -94, -94, -94, -45, -94, -94,
|
||||
94, -1, -61, -29, -94, -94, -94, -79, -94, -94,
|
||||
-63, -7, -94, -93, -94, -92, -94, -94, -60, -57,
|
||||
-94, -94, -94, -94, -19, -94, -94, 110, -94, -94,
|
||||
33, 82, 78, 144, -94, 99, -94, -94, -94
|
||||
};
|
||||
|
||||
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
||||
positive, shift that token. If negative, reduce the rule which
|
||||
number is the opposite. If YYTABLE_NINF, syntax error. */
|
||||
#define YYTABLE_NINF -111
|
||||
#define YYTABLE_NINF -110
|
||||
static const yytype_int16 yytable[] =
|
||||
{
|
||||
89, 90, 39, 74, 115, 60, 158, 86, 10, 72,
|
||||
165, 129, 51, 4, 96, 55, 76, 103, 20, 59,
|
||||
92, 148, 106, 107, 145, 154, 52, 29, 108, 56,
|
||||
166, 104, 34, 56, 80, 115, 93, 115, 88, 155,
|
||||
-95, 99, 136, 89, 126, 176, 162, 150, 159, 152,
|
||||
129, 129, 74, 181, 128, -95, 67, 87, 64, 149,
|
||||
163, 100, 65, 112, 101, 160, 161, 54, 66, 113,
|
||||
67, 67, 111, 64, 49, 50, 112, 65, 87, 115,
|
||||
61, 62, 113, 66, 67, 67, 149, 114, 63, 126,
|
||||
112, 109, 110, 159, 89, 76, 113, 91, 67, 128,
|
||||
97, 67, 89, 98, 52, 56, 122, 132, 144, 81,
|
||||
133, 89, 184, 7, 8, 9, 10, 11, 12, 13,
|
||||
105, 15, 16, 17, 18, 19, 20, 21, 22, 23,
|
||||
24, 134, 26, 27, 28, 29, 30, 31, 135, 114,
|
||||
34, 35, 151, 156, 157, 109, 100, -22, 164, 171,
|
||||
169, 36, 172, 170, -22, -109, 165, -22, 182, -22,
|
||||
123, 5, -22, 173, 7, 8, 9, 10, 11, 12,
|
||||
13, 174, 15, 16, 17, 18, 19, 20, 21, 22,
|
||||
23, 24, 178, 26, 27, 28, 29, 30, 31, 179,
|
||||
185, 34, 35, 186, 187, 188, 137, 177, -22, 153,
|
||||
124, 147, 36, 75, 0, -22, -110, 0, -22, 0,
|
||||
-22, 6, 146, -22, 0, 7, 8, 9, 10, 11,
|
||||
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
|
||||
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
|
||||
32, 33, 34, 35, 0, 0, 0, 0, 0, -22,
|
||||
0, 0, 0, 36, 0, 0, -22, 0, 139, -22,
|
||||
0, -22, 7, 8, 9, 10, 11, 12, 13, 0,
|
||||
89, 90, 39, 114, 95, 156, 10, 60, 146, 163,
|
||||
128, 74, 51, 86, 55, 4, 20, 99, 54, 148,
|
||||
100, 150, 63, 59, 102, 29, 52, 152, 56, 164,
|
||||
34, 134, 72, 114, 107, 114, 80, 56, 103, -94,
|
||||
88, 153, 89, 125, 76, 61, 147, 157, 128, 128,
|
||||
111, 160, 143, 127, -94, 67, 112, 87, 67, 92,
|
||||
74, 174, 110, 64, 98, 161, 111, 65, 62, 179,
|
||||
158, 159, 112, 66, 67, 67, 114, 113, 87, 147,
|
||||
49, 50, 52, 111, 125, 105, 106, 76, 157, 112,
|
||||
56, 67, 89, 91, 127, 96, 67, 108, 109, 104,
|
||||
89, 97, 121, 142, 113, 149, 131, 81, 132, 89,
|
||||
182, 7, 8, 9, 10, 11, 12, 13, 133, 15,
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 154,
|
||||
26, 27, 28, 29, 30, 31, 155, 108, 34, 35,
|
||||
99, 162, 167, 168, 170, -22, 169, 171, 172, 36,
|
||||
163, 176, -22, -108, 177, -22, 180, -22, 122, 5,
|
||||
-22, 183, 7, 8, 9, 10, 11, 12, 13, 184,
|
||||
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
||||
0, 26, 27, 28, 29, 30, 31, 0, 0, 34,
|
||||
35, 0, 0, 0, 0, -88, 0, 0, 0, 0,
|
||||
36, 0, 0, 0, 175, 0, 0, -88, 7, 8,
|
||||
9, 10, 11, 12, 13, 0, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 0, 26, 27, 28,
|
||||
29, 30, 31, 0, 0, 34, 35, 0, 0, 0,
|
||||
0, -88, 0, 0, 0, 0, 36, 0, 0, 0,
|
||||
180, 0, 0, -88, 7, 8, 9, 10, 11, 12,
|
||||
13, 0, 15, 16, 17, 18, 19, 20, 21, 22,
|
||||
23, 24, 0, 26, 27, 28, 29, 30, 31, 0,
|
||||
0, 34, 35, 0, 0, 0, 0, -88, 0, 0,
|
||||
0, 0, 36, 0, 0, 0, 0, 0, 0, -88,
|
||||
185, 26, 27, 28, 29, 30, 31, 186, 175, 34,
|
||||
35, 135, 145, 151, 123, 75, -22, 0, 0, 0,
|
||||
36, 0, 0, -22, -109, 144, -22, 0, -22, 6,
|
||||
0, -22, 0, 7, 8, 9, 10, 11, 12, 13,
|
||||
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
|
||||
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
|
||||
34, 35, 0, 0, 0, 0, 0, -22, 0, 0,
|
||||
0, 36, 0, 0, -22, 0, 137, -22, 0, -22,
|
||||
7, 8, 9, 10, 11, 12, 13, 0, 15, 16,
|
||||
17, 18, 19, 20, 21, 22, 23, 24, 0, 26,
|
||||
27, 28, 29, 30, 31, 0, 0, 34, 35, 0,
|
||||
0, 0, 0, 0, 126, 0, 0, 0, 127, 0,
|
||||
0, 0, 0, 0, 128, 0, 67, 7, 8, 9,
|
||||
10, 11, 12, 13, 0, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 0, 26, 27, 28, 29,
|
||||
30, 31, 0, 0, 34, 35, 0, 0, 0, 0,
|
||||
183, 0, 0, 0, 0, 36, 7, 8, 9, 10,
|
||||
0, 0, 0, -87, 0, 0, 0, 0, 36, 0,
|
||||
0, 0, 173, 0, 0, -87, 7, 8, 9, 10,
|
||||
11, 12, 13, 0, 15, 16, 17, 18, 19, 20,
|
||||
21, 22, 23, 24, 0, 26, 27, 28, 29, 30,
|
||||
31, 0, 0, 34, 35, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 36
|
||||
31, 0, 0, 34, 35, 0, 0, 0, 0, -87,
|
||||
0, 0, 0, 0, 36, 0, 0, 0, 178, 0,
|
||||
0, -87, 7, 8, 9, 10, 11, 12, 13, 0,
|
||||
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
||||
0, 26, 27, 28, 29, 30, 31, 0, 0, 34,
|
||||
35, 0, 0, 0, 0, -87, 0, 0, 0, 0,
|
||||
36, 0, 0, 0, 0, 0, 0, -87, 7, 8,
|
||||
9, 10, 11, 12, 13, 0, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 0, 26, 27, 28,
|
||||
29, 30, 31, 0, 0, 34, 35, 0, 0, 0,
|
||||
0, 0, 125, 0, 0, 0, 126, 0, 0, 0,
|
||||
0, 0, 127, 0, 67, 7, 8, 9, 10, 11,
|
||||
12, 13, 0, 15, 16, 17, 18, 19, 20, 21,
|
||||
22, 23, 24, 0, 26, 27, 28, 29, 30, 31,
|
||||
0, 0, 34, 35, 0, 0, 0, 0, 181, 0,
|
||||
0, 0, 0, 36, 7, 8, 9, 10, 11, 12,
|
||||
13, 0, 15, 16, 17, 18, 19, 20, 21, 22,
|
||||
23, 24, 0, 26, 27, 28, 29, 30, 31, 0,
|
||||
0, 34, 35, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 36
|
||||
};
|
||||
|
||||
#define yypact_value_is_default(Yystate) \
|
||||
(!!((Yystate) == (-111)))
|
||||
(!!((Yystate) == (-94)))
|
||||
|
||||
#define yytable_value_is_error(Yytable_value) \
|
||||
YYID (0)
|
||||
|
||||
static const yytype_int16 yycheck[] =
|
||||
{
|
||||
61, 61, 3, 40, 82, 26, 1, 58, 8, 39,
|
||||
32, 89, 39, 0, 67, 39, 39, 35, 18, 39,
|
||||
1, 1, 47, 48, 47, 35, 53, 27, 79, 53,
|
||||
52, 49, 32, 53, 55, 113, 66, 115, 59, 49,
|
||||
35, 71, 95, 104, 39, 155, 35, 113, 43, 115,
|
||||
128, 129, 89, 163, 49, 50, 51, 58, 39, 39,
|
||||
49, 31, 43, 43, 34, 128, 129, 23, 49, 49,
|
||||
51, 51, 39, 39, 46, 47, 43, 43, 79, 157,
|
||||
49, 49, 49, 49, 51, 51, 39, 54, 46, 39,
|
||||
43, 46, 47, 43, 155, 39, 49, 39, 51, 49,
|
||||
46, 51, 163, 48, 53, 53, 47, 50, 36, 1,
|
||||
50, 172, 172, 5, 6, 7, 8, 9, 10, 11,
|
||||
52, 13, 14, 15, 16, 17, 18, 19, 20, 21,
|
||||
22, 50, 24, 25, 26, 27, 28, 29, 50, 54,
|
||||
32, 33, 36, 46, 48, 46, 31, 39, 46, 38,
|
||||
50, 43, 48, 50, 46, 47, 32, 49, 36, 51,
|
||||
1, 1, 54, 50, 5, 6, 7, 8, 9, 10,
|
||||
11, 50, 13, 14, 15, 16, 17, 18, 19, 20,
|
||||
21, 22, 50, 24, 25, 26, 27, 28, 29, 50,
|
||||
50, 32, 33, 50, 50, 50, 98, 157, 39, 116,
|
||||
84, 111, 43, 51, -1, 46, 47, -1, 49, -1,
|
||||
51, 1, 107, 54, -1, 5, 6, 7, 8, 9,
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
|
||||
30, 31, 32, 33, -1, -1, -1, -1, -1, 39,
|
||||
-1, -1, -1, 43, -1, -1, 46, -1, 1, 49,
|
||||
-1, 51, 5, 6, 7, 8, 9, 10, 11, -1,
|
||||
61, 61, 3, 82, 67, 1, 8, 26, 1, 32,
|
||||
89, 40, 39, 58, 39, 0, 18, 31, 23, 112,
|
||||
34, 114, 46, 39, 35, 27, 53, 35, 53, 52,
|
||||
32, 94, 39, 112, 79, 114, 55, 53, 49, 35,
|
||||
59, 49, 103, 39, 39, 49, 39, 43, 127, 128,
|
||||
43, 35, 47, 49, 50, 51, 49, 58, 51, 66,
|
||||
89, 153, 39, 39, 71, 49, 43, 43, 49, 161,
|
||||
127, 128, 49, 49, 51, 51, 155, 54, 79, 39,
|
||||
46, 47, 53, 43, 39, 47, 48, 39, 43, 49,
|
||||
53, 51, 153, 39, 49, 46, 51, 46, 47, 52,
|
||||
161, 48, 47, 36, 54, 36, 50, 1, 50, 170,
|
||||
170, 5, 6, 7, 8, 9, 10, 11, 50, 13,
|
||||
14, 15, 16, 17, 18, 19, 20, 21, 22, 46,
|
||||
24, 25, 26, 27, 28, 29, 48, 46, 32, 33,
|
||||
31, 46, 50, 50, 48, 39, 38, 50, 50, 43,
|
||||
32, 50, 46, 47, 50, 49, 36, 51, 1, 1,
|
||||
54, 50, 5, 6, 7, 8, 9, 10, 11, 50,
|
||||
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
|
||||
-1, 24, 25, 26, 27, 28, 29, -1, -1, 32,
|
||||
33, -1, -1, -1, -1, 38, -1, -1, -1, -1,
|
||||
43, -1, -1, -1, 1, -1, -1, 50, 5, 6,
|
||||
7, 8, 9, 10, 11, -1, 13, 14, 15, 16,
|
||||
17, 18, 19, 20, 21, 22, -1, 24, 25, 26,
|
||||
27, 28, 29, -1, -1, 32, 33, -1, -1, -1,
|
||||
-1, 38, -1, -1, -1, -1, 43, -1, -1, -1,
|
||||
1, -1, -1, 50, 5, 6, 7, 8, 9, 10,
|
||||
11, -1, 13, 14, 15, 16, 17, 18, 19, 20,
|
||||
21, 22, -1, 24, 25, 26, 27, 28, 29, -1,
|
||||
-1, 32, 33, -1, -1, -1, -1, 38, -1, -1,
|
||||
-1, -1, 43, -1, -1, -1, -1, -1, -1, 50,
|
||||
50, 24, 25, 26, 27, 28, 29, 50, 155, 32,
|
||||
33, 97, 110, 115, 84, 51, 39, -1, -1, -1,
|
||||
43, -1, -1, 46, 47, 106, 49, -1, 51, 1,
|
||||
-1, 54, -1, 5, 6, 7, 8, 9, 10, 11,
|
||||
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
|
||||
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
|
||||
32, 33, -1, -1, -1, -1, -1, 39, -1, -1,
|
||||
-1, 43, -1, -1, 46, -1, 1, 49, -1, 51,
|
||||
5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
|
||||
15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
|
||||
25, 26, 27, 28, 29, -1, -1, 32, 33, -1,
|
||||
-1, -1, -1, -1, 39, -1, -1, -1, 43, -1,
|
||||
-1, -1, -1, -1, 49, -1, 51, 5, 6, 7,
|
||||
8, 9, 10, 11, -1, 13, 14, 15, 16, 17,
|
||||
18, 19, 20, 21, 22, -1, 24, 25, 26, 27,
|
||||
28, 29, -1, -1, 32, 33, -1, -1, -1, -1,
|
||||
38, -1, -1, -1, -1, 43, 5, 6, 7, 8,
|
||||
-1, -1, -1, 38, -1, -1, -1, -1, 43, -1,
|
||||
-1, -1, 1, -1, -1, 50, 5, 6, 7, 8,
|
||||
9, 10, 11, -1, 13, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, -1, 24, 25, 26, 27, 28,
|
||||
29, -1, -1, 32, 33, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, 43
|
||||
29, -1, -1, 32, 33, -1, -1, -1, -1, 38,
|
||||
-1, -1, -1, -1, 43, -1, -1, -1, 1, -1,
|
||||
-1, 50, 5, 6, 7, 8, 9, 10, 11, -1,
|
||||
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
|
||||
-1, 24, 25, 26, 27, 28, 29, -1, -1, 32,
|
||||
33, -1, -1, -1, -1, 38, -1, -1, -1, -1,
|
||||
43, -1, -1, -1, -1, -1, -1, 50, 5, 6,
|
||||
7, 8, 9, 10, 11, -1, 13, 14, 15, 16,
|
||||
17, 18, 19, 20, 21, 22, -1, 24, 25, 26,
|
||||
27, 28, 29, -1, -1, 32, 33, -1, -1, -1,
|
||||
-1, -1, 39, -1, -1, -1, 43, -1, -1, -1,
|
||||
-1, -1, 49, -1, 51, 5, 6, 7, 8, 9,
|
||||
10, 11, -1, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, -1, 24, 25, 26, 27, 28, 29,
|
||||
-1, -1, 32, 33, -1, -1, -1, -1, 38, -1,
|
||||
-1, -1, -1, 43, 5, 6, 7, 8, 9, 10,
|
||||
11, -1, 13, 14, 15, 16, 17, 18, 19, 20,
|
||||
21, 22, -1, 24, 25, 26, 27, 28, 29, -1,
|
||||
-1, 32, 33, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, 43
|
||||
};
|
||||
|
||||
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
||||
@ -873,16 +872,16 @@ static const yytype_uint8 yystos[] =
|
||||
89, 49, 49, 46, 39, 43, 49, 51, 63, 64,
|
||||
65, 72, 76, 77, 68, 98, 39, 99, 100, 60,
|
||||
89, 1, 66, 90, 91, 92, 62, 66, 89, 67,
|
||||
83, 39, 1, 76, 73, 74, 75, 46, 48, 76,
|
||||
31, 34, 102, 35, 49, 52, 47, 48, 62, 46,
|
||||
47, 39, 43, 49, 54, 72, 78, 79, 93, 94,
|
||||
95, 96, 47, 1, 92, 76, 39, 43, 49, 72,
|
||||
84, 85, 50, 50, 50, 50, 75, 65, 97, 1,
|
||||
80, 81, 82, 83, 36, 47, 100, 96, 1, 39,
|
||||
78, 36, 78, 97, 35, 49, 46, 48, 1, 43,
|
||||
84, 84, 35, 49, 46, 32, 52, 87, 88, 50,
|
||||
50, 38, 48, 50, 50, 1, 80, 95, 50, 50,
|
||||
1, 80, 36, 38, 83, 50, 50, 50, 50
|
||||
83, 39, 76, 73, 74, 75, 46, 48, 76, 31,
|
||||
34, 102, 35, 49, 52, 47, 48, 62, 46, 47,
|
||||
39, 43, 49, 54, 72, 78, 79, 93, 94, 95,
|
||||
96, 47, 1, 92, 76, 39, 43, 49, 72, 84,
|
||||
85, 50, 50, 50, 75, 65, 97, 1, 80, 81,
|
||||
82, 83, 36, 47, 100, 96, 1, 39, 78, 36,
|
||||
78, 97, 35, 49, 46, 48, 1, 43, 84, 84,
|
||||
35, 49, 46, 32, 52, 87, 88, 50, 50, 38,
|
||||
48, 50, 50, 1, 80, 95, 50, 50, 1, 80,
|
||||
36, 38, 83, 50, 50, 50, 50
|
||||
};
|
||||
|
||||
#define yyerrok (yyerrstatus = 0)
|
||||
@ -1928,12 +1927,12 @@ yyreduce:
|
||||
|
||||
case 75:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 76:
|
||||
case 79:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
{ (yyval) = (yyvsp[(4) - (4)]); }
|
||||
break;
|
||||
|
||||
case 80:
|
||||
@ -1943,12 +1942,12 @@ yyreduce:
|
||||
|
||||
case 81:
|
||||
|
||||
{ (yyval) = (yyvsp[(4) - (4)]); }
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 82:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
break;
|
||||
|
||||
case 83:
|
||||
@ -1958,27 +1957,27 @@ yyreduce:
|
||||
|
||||
case 84:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 85:
|
||||
case 86:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
break;
|
||||
|
||||
case 87:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
{ (yyval) = NULL; }
|
||||
break;
|
||||
|
||||
case 88:
|
||||
case 90:
|
||||
|
||||
{ (yyval) = NULL; }
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
break;
|
||||
|
||||
case 91:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
{ (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); }
|
||||
break;
|
||||
|
||||
case 92:
|
||||
@ -1986,17 +1985,12 @@ yyreduce:
|
||||
{ (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); }
|
||||
break;
|
||||
|
||||
case 93:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); }
|
||||
break;
|
||||
|
||||
case 95:
|
||||
case 94:
|
||||
|
||||
{ (yyval) = NULL; }
|
||||
break;
|
||||
|
||||
case 96:
|
||||
case 95:
|
||||
|
||||
{ /* For version 2 checksums, we don't want to remember
|
||||
private parameter names. */
|
||||
@ -2005,13 +1999,18 @@ yyreduce:
|
||||
}
|
||||
break;
|
||||
|
||||
case 97:
|
||||
case 96:
|
||||
|
||||
{ remove_node((yyvsp[(1) - (1)]));
|
||||
(yyval) = (yyvsp[(1) - (1)]);
|
||||
}
|
||||
break;
|
||||
|
||||
case 97:
|
||||
|
||||
{ (yyval) = (yyvsp[(4) - (4)]); }
|
||||
break;
|
||||
|
||||
case 98:
|
||||
|
||||
{ (yyval) = (yyvsp[(4) - (4)]); }
|
||||
@ -2019,12 +2018,12 @@ yyreduce:
|
||||
|
||||
case 99:
|
||||
|
||||
{ (yyval) = (yyvsp[(4) - (4)]); }
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 100:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
break;
|
||||
|
||||
case 101:
|
||||
@ -2034,11 +2033,6 @@ yyreduce:
|
||||
|
||||
case 102:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
break;
|
||||
|
||||
case 103:
|
||||
|
||||
{ struct string_list *decl = *(yyvsp[(2) - (3)]);
|
||||
*(yyvsp[(2) - (3)]) = NULL;
|
||||
add_symbol(current_name, SYM_NORMAL, decl, is_extern);
|
||||
@ -2046,16 +2040,21 @@ yyreduce:
|
||||
}
|
||||
break;
|
||||
|
||||
case 104:
|
||||
case 103:
|
||||
|
||||
{ (yyval) = NULL; }
|
||||
break;
|
||||
|
||||
case 106:
|
||||
case 105:
|
||||
|
||||
{ remove_list((yyvsp[(2) - (2)]), &(*(yyvsp[(1) - (2)]))->next); (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 106:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
break;
|
||||
|
||||
case 107:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
@ -2063,70 +2062,65 @@ yyreduce:
|
||||
|
||||
case 108:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
{ (yyval) = NULL; }
|
||||
break;
|
||||
|
||||
case 109:
|
||||
case 111:
|
||||
|
||||
{ (yyval) = NULL; }
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 112:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
break;
|
||||
|
||||
case 113:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 114:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 115:
|
||||
|
||||
{ (yyval) = NULL; }
|
||||
break;
|
||||
|
||||
case 118:
|
||||
case 117:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
break;
|
||||
|
||||
case 119:
|
||||
case 118:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); }
|
||||
break;
|
||||
|
||||
case 120:
|
||||
case 119:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 121:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 122:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 123:
|
||||
|
||||
{ (yyval) = NULL; }
|
||||
break;
|
||||
|
||||
case 125:
|
||||
case 124:
|
||||
|
||||
{ (yyval) = (yyvsp[(3) - (3)]); }
|
||||
break;
|
||||
|
||||
case 126:
|
||||
case 125:
|
||||
|
||||
{ (yyval) = (yyvsp[(4) - (4)]); }
|
||||
break;
|
||||
|
||||
case 129:
|
||||
case 128:
|
||||
|
||||
{
|
||||
const char *name = strdup((*(yyvsp[(1) - (1)]))->string);
|
||||
@ -2134,7 +2128,7 @@ yyreduce:
|
||||
}
|
||||
break;
|
||||
|
||||
case 130:
|
||||
case 129:
|
||||
|
||||
{
|
||||
const char *name = strdup((*(yyvsp[(1) - (3)]))->string);
|
||||
@ -2143,17 +2137,17 @@ yyreduce:
|
||||
}
|
||||
break;
|
||||
|
||||
case 131:
|
||||
case 130:
|
||||
|
||||
{ (yyval) = (yyvsp[(2) - (2)]); }
|
||||
break;
|
||||
|
||||
case 132:
|
||||
case 131:
|
||||
|
||||
{ (yyval) = NULL; }
|
||||
break;
|
||||
|
||||
case 134:
|
||||
case 133:
|
||||
|
||||
{ export_symbol((*(yyvsp[(3) - (5)]))->string); (yyval) = (yyvsp[(5) - (5)]); }
|
||||
break;
|
||||
|
@ -322,8 +322,6 @@ direct_declarator:
|
||||
{ $$ = $2; }
|
||||
| '(' declarator ')'
|
||||
{ $$ = $3; }
|
||||
| '(' error ')'
|
||||
{ $$ = $3; }
|
||||
;
|
||||
|
||||
/* Nested declarators differ from regular declarators in that they do
|
||||
|
@ -7,32 +7,8 @@ modpost-objs := modpost.o file2alias.o sumversion.o
|
||||
|
||||
devicetable-offsets-file := devicetable-offsets.h
|
||||
|
||||
define sed-y
|
||||
"/^->/{s:->#\(.*\):/* \1 */:; \
|
||||
s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
|
||||
s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
|
||||
s:->::; p;}"
|
||||
endef
|
||||
|
||||
quiet_cmd_offsets = GEN $@
|
||||
define cmd_offsets
|
||||
(set -e; \
|
||||
echo "#ifndef __DEVICETABLE_OFFSETS_H__"; \
|
||||
echo "#define __DEVICETABLE_OFFSETS_H__"; \
|
||||
echo "/*"; \
|
||||
echo " * DO NOT MODIFY."; \
|
||||
echo " *"; \
|
||||
echo " * This file was generated by Kbuild"; \
|
||||
echo " *"; \
|
||||
echo " */"; \
|
||||
echo ""; \
|
||||
sed -ne $(sed-y) $<; \
|
||||
echo ""; \
|
||||
echo "#endif" ) > $@
|
||||
endef
|
||||
|
||||
$(obj)/$(devicetable-offsets-file): $(obj)/devicetable-offsets.s
|
||||
$(call if_changed,offsets)
|
||||
$(obj)/$(devicetable-offsets-file): $(obj)/devicetable-offsets.s FORCE
|
||||
$(call filechk,offsets,__DEVICETABLE_OFFSETS_H__)
|
||||
|
||||
targets += $(devicetable-offsets-file) devicetable-offsets.s
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user