History

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

Pull Kbuild fixes from Masahiro Yamada: - update Kbuild and Kconfig documents - sanitize -I compiler option handling - update extract-vmlinux script to recognize LZ4 and ZSTD - fix tools Makefiles - update tags.sh to handle __ro_after_init - suppress warnings in case getconf does not recognize LFS_* parameters * tag 'kbuild-fixes-v4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: kbuild: suppress warnings from 'getconf LFS_*' scripts/tags.sh: add __ro_after_init tools: build: Use HOSTLDFLAGS with fixdep tools: build: Fixup host c flags tools build: fix # escaping in .cmd files for future Make scripts: teach extract-vmlinux about LZ4 and ZSTD kbuild: remove duplicated comments about PHONY kbuild: .PHONY is not a variable, but PHONY is kbuild: do not drop -I without parameter kbuild: document the KBUILD_KCONFIG env. variable kconfig: update user kconfig tools doc. kbuild: delete INSTALL_FW_PATH from kbuild documentation kbuild: update ARCH alias info for sparc kbuild: update ARCH alias info for sh

Linus Torvalds committed 8 years ago

Commit 79facf32 parents 9d2e348 6d79a7b15 files · +63 −50Browse files

Unified · Split

15 files
  1. Documentation/kbuild/kbuild.txt +7 −10
  2. Documentation/kbuild/kconfig.txt +43 −8
  3. Makefile +4 −4
  4. scripts/Kbuild.include +1 −1
  5. scripts/Makefile.build +0 −3
  6. scripts/Makefile.clean +0 −3
  7. scripts/Makefile.modbuiltin +0 −4
  8. scripts/Makefile.modinst +0 −4
  9. scripts/Makefile.modpost +0 −4
  10. scripts/Makefile.modsign +0 −3
  11. scripts/extract-vmlinux +2 −0
  12. scripts/tags.sh +1 −1
  13. tools/build/Build.include +3 −3
  14. tools/build/Makefile +1 −1
  15. tools/perf/pmu-events/Build +1 −1
Documentation/kbuild/kbuild.txt+7−10
@@ -50,6 +50,11 @@ LDFLAGS_MODULE · 49 unmodified lines
50--------------------------------------------------50--------------------------------------------------
51Additional options used for $(LD) when linking modules.51Additional options used for $(LD) when linking modules.
52 52
53KBUILD_KCONFIG
54--------------------------------------------------
55Set the top-level Kconfig file to the value of this environment
56variable. The default name is "Kconfig".
57
53KBUILD_VERBOSE58KBUILD_VERBOSE
54--------------------------------------------------59--------------------------------------------------
55Set the kbuild verbosity. Can be assigned same values as "V=...".60Set the kbuild verbosity. Can be assigned same values as "V=...".
@@ -88,7 +93,8 @@ In most cases the name of the architecture is the same as the · 32 unmodified lines
88directory name found in the arch/ directory.93directory name found in the arch/ directory.
89But some architectures such as x86 and sparc have aliases.94But some architectures such as x86 and sparc have aliases.
90x86: i386 for 32 bit, x86_64 for 64 bit95x86: i386 for 32 bit, x86_64 for 64 bit
91sparc: sparc for 32 bit, sparc64 for 64 bit96sh: sh for 32 bit, sh64 for 64 bit
97sparc: sparc32 for 32 bit, sparc64 for 64 bit
92 98
93CROSS_COMPILE99CROSS_COMPILE
94--------------------------------------------------100--------------------------------------------------
@@ -148,15 +154,6 @@ stripped after they are installed. If INSTALL_MOD_STRIP is '1', then · 53 unmodified lines
148the default option --strip-debug will be used. Otherwise,154the default option --strip-debug will be used. Otherwise,
149INSTALL_MOD_STRIP value will be used as the options to the strip command.155INSTALL_MOD_STRIP value will be used as the options to the strip command.
150 156
151INSTALL_FW_PATH
152--------------------------------------------------
153INSTALL_FW_PATH specifies where to install the firmware blobs.
154The default value is:
155
156 $(INSTALL_MOD_PATH)/lib/firmware
157
158The value can be overridden in which case the default value is ignored.
159
160INSTALL_HDR_PATH157INSTALL_HDR_PATH
161--------------------------------------------------158--------------------------------------------------
162INSTALL_HDR_PATH specifies where to install user space headers when159INSTALL_HDR_PATH specifies where to install user space headers when
Documentation/kbuild/kconfig.txt+43−8
@@ -2,9 +2,9 @@ This file contains some assistance for using "make *config". · 1 unmodified line
2 2
3Use "make help" to list all of the possible configuration targets.3Use "make help" to list all of the possible configuration targets.
4 4
5The xconfig ('qconf') and menuconfig ('mconf') programs also5The xconfig ('qconf'), menuconfig ('mconf'), and nconfig ('nconf')
6have embedded help text. Be sure to check it for navigation,6programs also have embedded help text. Be sure to check that for
7search, and other general help text.7navigation, search, and other general help text.
8 8
9======================================================================9======================================================================
10General10General
@@ -17,13 +17,16 @@ this happens, using a previously working .config file and running · 6 unmodified lines
17for you, so you may find that you need to see what NEW kernel17for you, so you may find that you need to see what NEW kernel
18symbols have been introduced.18symbols have been introduced.
19 19
20To see a list of new config symbols when using "make oldconfig", use20To see a list of new config symbols, use
21 21
22 cp user/some/old.config .config22 cp user/some/old.config .config
23 make listnewconfig23 make listnewconfig
24 24
25and the config program will list any new symbols, one per line.25and the config program will list any new symbols, one per line.
26 26
27Alternatively, you can use the brute force method:
28
29 make oldconfig
27 scripts/diffconfig .config.old .config | less30 scripts/diffconfig .config.old .config | less
28 31
29______________________________________________________________________32______________________________________________________________________
@@ -160,7 +163,7 @@ Searching in menuconfig: · 130 unmodified lines
160 This lists all config symbols that contain "hotplug",163 This lists all config symbols that contain "hotplug",
161 e.g., HOTPLUG_CPU, MEMORY_HOTPLUG.164 e.g., HOTPLUG_CPU, MEMORY_HOTPLUG.
162 165
163 For search help, enter / followed TAB-TAB-TAB (to highlight166 For search help, enter / followed by TAB-TAB (to highlight
164 <Help>) and Enter. This will tell you that you can also use167 <Help>) and Enter. This will tell you that you can also use
165 regular expressions (regexes) in the search string, so if you168 regular expressions (regexes) in the search string, so if you
166 are not interested in MEMORY_HOTPLUG, you could try169 are not interested in MEMORY_HOTPLUG, you could try
@@ -202,6 +205,39 @@ Example: · 35 unmodified lines
202 make MENUCONFIG_MODE=single_menu menuconfig205 make MENUCONFIG_MODE=single_menu menuconfig
203 206
204 207
208======================================================================
209nconfig
210--------------------------------------------------
211
212nconfig is an alternate text-based configurator. It lists function
213keys across the bottom of the terminal (window) that execute commands.
214You can also just use the corresponding numeric key to execute the
215commands unless you are in a data entry window. E.g., instead of F6
216for Save, you can just press 6.
217
218Use F1 for Global help or F3 for the Short help menu.
219
220Searching in nconfig:
221
222 You can search either in the menu entry "prompt" strings
223 or in the configuration symbols.
224
225 Use / to begin a search through the menu entries. This does
226 not support regular expressions. Use <Down> or <Up> for
227 Next hit and Previous hit, respectively. Use <Esc> to
228 terminate the search mode.
229
230 F8 (SymSearch) searches the configuration symbols for the
231 given string or regular expression (regex).
232
233NCONFIG_MODE
234--------------------------------------------------
235This mode shows all sub-menus in one large tree.
236
237Example:
238 make NCONFIG_MODE=single_menu nconfig
239
240
205======================================================================241======================================================================
206xconfig242xconfig
207--------------------------------------------------243--------------------------------------------------
@@ -230,8 +266,7 @@ gconfig · 22 unmodified lines
230 266
231Searching in gconfig:267Searching in gconfig:
232 268
233 None (gconfig isn't maintained as well as xconfig or menuconfig);269 There is no search command in gconfig. However, gconfig does
234 however, gconfig does have a few more viewing choices than270 have several different viewing choices, modes, and options.
235 xconfig does.
236 271
237###272###
Makefile+4−4
@@ -353,9 +353,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ · 352 unmodified lines
353 else if [ -x /bin/bash ]; then echo /bin/bash; \353 else if [ -x /bin/bash ]; then echo /bin/bash; \
354 else echo sh; fi ; fi)354 else echo sh; fi ; fi)
355 355
356HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS)356HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS 2>/dev/null)
357HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS)357HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null)
358HOST_LFS_LIBS := $(shell getconf LFS_LIBS)358HOST_LFS_LIBS := $(shell getconf LFS_LIBS 2>/dev/null)
359 359
360HOSTCC = gcc360HOSTCC = gcc
361HOSTCXX = g++361HOSTCXX = g++
@@ -1712,6 +1712,6 @@ endif # skip-makefile · 1350 unmodified lines
1712PHONY += FORCE1712PHONY += FORCE
1713FORCE:1713FORCE:
1714 1714
1715# Declare the contents of the .PHONY variable as phony. We keep that1715# Declare the contents of the PHONY variable as phony. We keep that
1716# information in a variable so we can use it in if_changed and friends.1716# information in a variable so we can use it in if_changed and friends.
1717.PHONY: $(PHONY)1717.PHONY: $(PHONY)
scripts/Kbuild.include+1−1
@@ -214,7 +214,7 @@ hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj · 213 unmodified lines
214# Prefix -I with $(srctree) if it is not an absolute path.214# Prefix -I with $(srctree) if it is not an absolute path.
215# skip if -I has no parameter215# skip if -I has no parameter
216addtree = $(if $(patsubst -I%,%,$(1)), \216addtree = $(if $(patsubst -I%,%,$(1)), \
217$(if $(filter-out -I/% -I./% -I../%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1)),$(1)))217$(if $(filter-out -I/% -I./% -I../%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1)),$(1)),$(1))
218 218
219# Find all -I options and call addtree219# Find all -I options and call addtree
220flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o)))220flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o)))
scripts/Makefile.build+0−3
@@ -590,7 +590,4 @@ endif · 589 unmodified lines
590# We never want them to be removed automatically.590# We never want them to be removed automatically.
591.SECONDARY: $(targets)591.SECONDARY: $(targets)
592 592
593# Declare the contents of the .PHONY variable as phony. We keep that
594# information in a variable se we can use it in if_changed and friends.
595
596.PHONY: $(PHONY)593.PHONY: $(PHONY)
scripts/Makefile.clean+0−3
@@ -88,7 +88,4 @@ PHONY += $(subdir-ymn) · 87 unmodified lines
88$(subdir-ymn):88$(subdir-ymn):
89 $(Q)$(MAKE) $(clean)=$@89 $(Q)$(MAKE) $(clean)=$@
90 90
91# Declare the contents of the .PHONY variable as phony. We keep that
92# information in a variable se we can use it in if_changed and friends.
93
94.PHONY: $(PHONY)91.PHONY: $(PHONY)
scripts/Makefile.modbuiltin+0−4
@@ -54,8 +54,4 @@ PHONY += $(subdir-ym) · 53 unmodified lines
54$(subdir-ym):54$(subdir-ym):
55 $(Q)$(MAKE) $(modbuiltin)=$@55 $(Q)$(MAKE) $(modbuiltin)=$@
56 56
57
58# Declare the contents of the .PHONY variable as phony. We keep that
59# information in a variable se we can use it in if_changed and friends.
60
61.PHONY: $(PHONY)57.PHONY: $(PHONY)
scripts/Makefile.modinst+0−4
@@ -35,8 +35,4 @@ modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) · 34 unmodified lines
35$(modules):35$(modules):
36 $(call cmd,modules_install,$(MODLIB)/$(modinst_dir))36 $(call cmd,modules_install,$(MODLIB)/$(modinst_dir))
37 37
38
39# Declare the contents of the .PHONY variable as phony. We keep that
40# information in a variable so we can use it in if_changed and friends.
41
42.PHONY: $(PHONY)38.PHONY: $(PHONY)
scripts/Makefile.modpost+0−4
@@ -149,8 +149,4 @@ ifneq ($(cmd_files),) · 148 unmodified lines
149 include $(cmd_files)149 include $(cmd_files)
150endif150endif
151 151
152
153# Declare the contents of the .PHONY variable as phony. We keep that
154# information in a variable se we can use it in if_changed and friends.
155
156.PHONY: $(PHONY)152.PHONY: $(PHONY)
scripts/Makefile.modsign+0−3
@@ -27,7 +27,4 @@ modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) · 26 unmodified lines
27$(modules):27$(modules):
28 $(call cmd,sign_ko,$(MODLIB)/$(modinst_dir))28 $(call cmd,sign_ko,$(MODLIB)/$(modinst_dir))
29 29
30# Declare the contents of the .PHONY variable as phony. We keep that
31# information in a variable se we can use it in if_changed and friends.
32
33.PHONY: $(PHONY)30.PHONY: $(PHONY)
scripts/extract-vmlinux+2−0
@@ -57,6 +57,8 @@ try_decompress '\3757zXZ\000' abcde unxz · 56 unmodified lines
57try_decompress 'BZh' xy bunzip257try_decompress 'BZh' xy bunzip2
58try_decompress '\135\0\0\0' xxx unlzma58try_decompress '\135\0\0\0' xxx unlzma
59try_decompress '\211\114\132' xy 'lzop -d'59try_decompress '\211\114\132' xy 'lzop -d'
60try_decompress '\002!L\030' xxx 'lz4 -d'
61try_decompress '(\265/\375' xxx unzstd
60 62
61# Bail out:63# Bail out:
62echo "$me: Cannot find vmlinux." >&264echo "$me: Cannot find vmlinux." >&2
scripts/tags.sh+1−1
@@ -245,7 +245,7 @@ exuberant() · 244 unmodified lines
245{245{
246 setup_regex exuberant asm c246 setup_regex exuberant asm c
247 all_target_sources | xargs $1 -a \247 all_target_sources | xargs $1 -a \
248 -I __initdata,__exitdata,__initconst, \248 -I __initdata,__exitdata,__initconst,__ro_after_init \
249 -I __initdata_memblock \249 -I __initdata_memblock \
250 -I __refdata,__attribute,__maybe_unused,__always_unused \250 -I __refdata,__attribute,__maybe_unused,__always_unused \
251 -I __acquires,__releases,__deprecated \251 -I __acquires,__releases,__deprecated \
tools/build/Build.include+3−3
@@ -63,8 +63,8 @@ dep-cmd = $(if $(wildcard $(fixdep)), · 62 unmodified lines
63 $(fixdep) $(depfile) $@ '$(make-cmd)' > $(dot-target).tmp; \63 $(fixdep) $(depfile) $@ '$(make-cmd)' > $(dot-target).tmp; \
64 rm -f $(depfile); \64 rm -f $(depfile); \
65 mv -f $(dot-target).tmp $(dot-target).cmd, \65 mv -f $(dot-target).tmp $(dot-target).cmd, \
66 printf '\# cannot find fixdep (%s)\n' $(fixdep) > $(dot-target).cmd; \66 printf '$(pound) cannot find fixdep (%s)\n' $(fixdep) > $(dot-target).cmd; \
67 printf '\# using basic dep data\n\n' >> $(dot-target).cmd; \67 printf '$(pound) using basic dep data\n\n' >> $(dot-target).cmd; \
68 cat $(depfile) >> $(dot-target).cmd; \68 cat $(depfile) >> $(dot-target).cmd; \
69 printf '\n%s\n' 'cmd_$@ := $(make-cmd)' >> $(dot-target).cmd)69 printf '\n%s\n' 'cmd_$@ := $(make-cmd)' >> $(dot-target).cmd)
70 70
@@ -98,4 +98,4 @@ cxx_flags = -Wp,-MD,$(depfile) -Wp,-MT,$@ $(CXXFLAGS) -D"BUILD_STR(s)=\#s" $(CXX · 27 unmodified lines
98###98###
99## HOSTCC C flags99## HOSTCC C flags
100 100
101host_c_flags = -Wp,-MD,$(depfile) -Wp,-MT,$@ $(CHOSTFLAGS) -D"BUILD_STR(s)=\#s" $(CHOSTFLAGS_$(basetarget).o) $(CHOSTFLAGS_$(obj))101host_c_flags = -Wp,-MD,$(depfile) -Wp,-MT,$@ $(HOSTCFLAGS) -D"BUILD_STR(s)=\#s" $(HOSTCFLAGS_$(basetarget).o) $(HOSTCFLAGS_$(obj))
tools/build/Makefile+1−1
@@ -43,7 +43,7 @@ $(OUTPUT)fixdep-in.o: FORCE · 42 unmodified lines
43 $(Q)$(MAKE) $(build)=fixdep43 $(Q)$(MAKE) $(build)=fixdep
44 44
45$(OUTPUT)fixdep: $(OUTPUT)fixdep-in.o45$(OUTPUT)fixdep: $(OUTPUT)fixdep-in.o
46 $(QUIET_LINK)$(HOSTCC) $(LDFLAGS) -o $@ $<46 $(QUIET_LINK)$(HOSTCC) $(HOSTLDFLAGS) -o $@ $<
47 47
48FORCE:48FORCE:
49 49
tools/perf/pmu-events/Build+1−1
@@ -1,7 +1,7 @@
1hostprogs := jevents1hostprogs := jevents
2 2
3jevents-y += json.o jsmn.o jevents.o3jevents-y += json.o jsmn.o jevents.o
4CHOSTFLAGS_jevents.o = -I$(srctree)/tools/include4HOSTCFLAGS_jevents.o = -I$(srctree)/tools/include
5pmu-events-y += pmu-events.o5pmu-events-y += pmu-events.o
6JDIR = pmu-events/arch/$(SRCARCH)6JDIR = pmu-events/arch/$(SRCARCH)
7JSON = $(shell [ -d $(JDIR) ] && \7JSON = $(shell [ -d $(JDIR) ] && \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t