Pull more Kbuild updates from Masahiro Yamada: - use 'pwd' instead of '/bin/pwd' for portability - clean up Makefiles - fix ld-option for clang - fix malloc'ed data size in Kconfig - fix parallel building along with coccicheck - fix a minor issue of package building - prompt to use "rpm-pkg" instead of "rpm" - clean up *.i and *.lst patterns by "make clean" * tag 'kbuild-v4.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: kbuild: drop $(extra-y) from real-objs-y kbuild: clean up *.i and *.lst patterns by make clean kbuild: rpm: prompt to use "rpm-pkg" if "rpm" target is used kbuild: pkg: use --transform option to prefix paths in tar coccinelle: fix parallel build with CHECK=scripts/coccicheck kconfig/symbol.c: use correct pointer type argument for sizeof kbuild: Set KBUILD_CFLAGS before incl. arch Makefile kbuild: remove all dummy assignments to obj- kbuild: create built-in.o automatically if parent directory wants it kbuild: /bin/pwd -> pwd
Unified · Split
| @@ -41,7 +41,7 @@ Getting and Building Xen and Dom0 · 40 unmodified lines | ||
| 41 | 41 | |
| 42 | 42 | 5. make initrd for Dom0/DomU |
| 43 | 43 | # make -C linux-2.6.18-xen.hg ARCH=ia64 modules_install \ |
| 44 | − O=$(/bin/pwd)/build-linux-2.6.18-xen_ia64 | |
| 44 | + O=$(pwd)/build-linux-2.6.18-xen_ia64 | |
| 45 | 45 | # mkinitrd -f /boot/efi/efi/redhat/initrd-2.6.18.8-xen.img \ |
| 46 | 46 | 2.6.18.8-xen --builtin mptspi --builtin mptbase \ |
| 47 | 47 | --builtin mptscsih --builtin uhci-hcd --builtin ohci-hcd \ |
| @@ -132,7 +132,7 @@ ifneq ($(KBUILD_OUTPUT),) · 131 unmodified lines | ||
| 132 | 132 | # check that the output directory actually exists |
| 133 | 133 | saved-output := $(KBUILD_OUTPUT) |
| 134 | 134 | KBUILD_OUTPUT := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) \ |
| 135 | − && /bin/pwd) | |
| 135 | + && pwd) | |
| 136 | 136 | $(if $(KBUILD_OUTPUT),, \ |
| 137 | 137 | $(error failed to create output directory "$(saved-output)")) |
| 138 | 138 | |
| @@ -474,6 +474,38 @@ ifneq ($(KBUILD_SRC),) · 335 unmodified lines | ||
| 474 | 474 | $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) |
| 475 | 475 | endif |
| 476 | 476 | |
| 477 | +ifeq ($(cc-name),clang) | |
| 478 | +ifneq ($(CROSS_COMPILE),) | |
| 479 | +CLANG_TARGET := --target=$(notdir $(CROSS_COMPILE:%-=%)) | |
| 480 | +GCC_TOOLCHAIN := $(realpath $(dir $(shell which $(LD)))/..) | |
| 481 | +endif | |
| 482 | +ifneq ($(GCC_TOOLCHAIN),) | |
| 483 | +CLANG_GCC_TC := --gcc-toolchain=$(GCC_TOOLCHAIN) | |
| 484 | +endif | |
| 485 | +KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) | |
| 486 | +KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) | |
| 487 | +KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,) | |
| 488 | +KBUILD_CFLAGS += $(call cc-disable-warning, unused-variable) | |
| 489 | +KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier) | |
| 490 | +KBUILD_CFLAGS += $(call cc-disable-warning, gnu) | |
| 491 | +KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member) | |
| 492 | +# Quiet clang warning: comparison of unsigned expression < 0 is always false | |
| 493 | +KBUILD_CFLAGS += $(call cc-disable-warning, tautological-compare) | |
| 494 | +# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the | |
| 495 | +# source of a reference will be _MergedGlobals and not on of the whitelisted names. | |
| 496 | +# See modpost pattern 2 | |
| 497 | +KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,) | |
| 498 | +KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) | |
| 499 | +KBUILD_CFLAGS += $(call cc-option, -no-integrated-as) | |
| 500 | +KBUILD_AFLAGS += $(call cc-option, -no-integrated-as) | |
| 501 | +else | |
| 502 | + | |
| 503 | +# These warnings generated too much noise in a regular build. | |
| 504 | +# Use make W=1 to enable them (see scripts/Makefile.extrawarn) | |
| 505 | +KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) | |
| 506 | +KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable) | |
| 507 | +endif | |
| 508 | + | |
| 477 | 509 | ifeq ($(config-targets),1) |
| 478 | 510 | # =========================================================================== |
| 479 | 511 | # *config targets only - make sure prerequisites are updated, and descend |
| @@ -684,38 +716,6 @@ ifdef CONFIG_CC_STACKPROTECTOR · 204 unmodified lines | ||
| 684 | 716 | endif |
| 685 | 717 | KBUILD_CFLAGS += $(stackp-flag) |
| 686 | 718 | |
| 687 | −ifeq ($(cc-name),clang) | |
| 688 | −ifneq ($(CROSS_COMPILE),) | |
| 689 | −CLANG_TARGET := --target=$(notdir $(CROSS_COMPILE:%-=%)) | |
| 690 | −GCC_TOOLCHAIN := $(realpath $(dir $(shell which $(LD)))/..) | |
| 691 | −endif | |
| 692 | −ifneq ($(GCC_TOOLCHAIN),) | |
| 693 | −CLANG_GCC_TC := --gcc-toolchain=$(GCC_TOOLCHAIN) | |
| 694 | −endif | |
| 695 | −KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) | |
| 696 | −KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) | |
| 697 | −KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,) | |
| 698 | −KBUILD_CFLAGS += $(call cc-disable-warning, unused-variable) | |
| 699 | −KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier) | |
| 700 | −KBUILD_CFLAGS += $(call cc-disable-warning, gnu) | |
| 701 | −KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member) | |
| 702 | −# Quiet clang warning: comparison of unsigned expression < 0 is always false | |
| 703 | −KBUILD_CFLAGS += $(call cc-disable-warning, tautological-compare) | |
| 704 | −# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the | |
| 705 | −# source of a reference will be _MergedGlobals and not on of the whitelisted names. | |
| 706 | −# See modpost pattern 2 | |
| 707 | −KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,) | |
| 708 | −KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) | |
| 709 | −KBUILD_CFLAGS += $(call cc-option, -no-integrated-as) | |
| 710 | −KBUILD_AFLAGS += $(call cc-option, -no-integrated-as) | |
| 711 | −else | |
| 712 | − | |
| 713 | −# These warnings generated too much noise in a regular build. | |
| 714 | −# Use make W=1 to enable them (see scripts/Makefile.extrawarn) | |
| 715 | −KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) | |
| 716 | −KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable) | |
| 717 | −endif | |
| 718 | − | |
| 719 | 719 | ifdef CONFIG_FRAME_POINTER |
| 720 | 720 | KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls |
| 721 | 721 | else |
| @@ -1009,7 +1009,7 @@ $(sort $(vmlinux-deps)): $(vmlinux-dirs) ; · 287 unmodified lines | ||
| 1009 | 1009 | |
| 1010 | 1010 | PHONY += $(vmlinux-dirs) |
| 1011 | 1011 | $(vmlinux-dirs): prepare scripts |
| 1012 | − $(Q)$(MAKE) $(build)=$@ | |
| 1012 | + $(Q)$(MAKE) $(build)=$@ need-builtin=1 | |
| 1013 | 1013 | |
| 1014 | 1014 | define filechk_kernel.release |
| 1015 | 1015 | echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))" |
| @@ -1337,8 +1337,9 @@ package-dir := scripts/package · 321 unmodified lines | ||
| 1337 | 1337 | $(Q)$(MAKE) $(build)=$(package-dir) $@ |
| 1338 | 1338 | %pkg: include/config/kernel.release FORCE |
| 1339 | 1339 | $(Q)$(MAKE) $(build)=$(package-dir) $@ |
| 1340 | −rpm: include/config/kernel.release FORCE | |
| 1341 | − $(Q)$(MAKE) $(build)=$(package-dir) $@ | |
| 1340 | +rpm: rpm-pkg | |
| 1341 | + @echo " WARNING: \"rpm\" target will be removed after Linux 4.18" | |
| 1342 | + @echo " Please use \"rpm-pkg\" instead." | |
| 1342 | 1343 | |
| 1343 | 1344 | |
| 1344 | 1345 | # Brief documentation of the typical targets used |
| @@ -1546,9 +1547,9 @@ clean: $(clean-dirs) · 201 unmodified lines | ||
| 1546 | 1547 | $(call cmd,rmdirs) |
| 1547 | 1548 | $(call cmd,rmfiles) |
| 1548 | 1549 | @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \ |
| 1549 | − \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ | |
| 1550 | + \( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \ | |
| 1550 | 1551 | -o -name '*.ko.*' -o -name '*.dtb' -o -name '*.dtb.S' \ |
| 1551 | − -o -name '*.dwo' \ | |
| 1552 | + -o -name '*.dwo' -o -name '*.lst' \ | |
| 1552 | 1553 | -o -name '*.su' \ |
| 1553 | 1554 | -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ |
| 1554 | 1555 | -o -name '*.symtypes' -o -name 'modules.order' \ |
| @@ -1 +0,0 @@ | ||
| 1 | −obj- += dummy.o | |
| @@ -35,6 +35,3 @@ dtb-$(CONFIG_DT_NONE) += \ · 34 unmodified lines | ||
| 35 | 35 | bcm97435svmb.dtb |
| 36 | 36 | |
| 37 | 37 | obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) |
| 38 | − | |
| 39 | −# Force kbuild to make empty built-in.o if necessary | |
| 40 | −obj- += dummy.o | |
| @@ -2,6 +2,3 @@ · 1 unmodified line | ||
| 2 | 2 | dtb-$(CONFIG_CAVIUM_OCTEON_SOC) += octeon_3xxx.dtb octeon_68xx.dtb |
| 3 | 3 | |
| 4 | 4 | obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) |
| 5 | − | |
| 6 | −# Force kbuild to make empty built-in.o if necessary | |
| 7 | −obj- += dummy.o | |
| @@ -3,6 +3,3 @@ dtb-$(CONFIG_FIT_IMAGE_FDT_BOSTON) += boston.dtb · 2 unmodified lines | ||
| 3 | 3 | |
| 4 | 4 | dtb-$(CONFIG_MACH_PISTACHIO) += pistachio_marduk.dtb |
| 5 | 5 | obj-$(CONFIG_MACH_PISTACHIO) += pistachio_marduk.dtb.o |
| 6 | − | |
| 7 | −# Force kbuild to make empty built-in.o if necessary | |
| 8 | −obj- += dummy.o | |
| @@ -3,6 +3,3 @@ dtb-$(CONFIG_JZ4740_QI_LB60) += qi_lb60.dtb · 2 unmodified lines | ||
| 3 | 3 | dtb-$(CONFIG_JZ4780_CI20) += ci20.dtb |
| 4 | 4 | |
| 5 | 5 | obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) |
| 6 | − | |
| 7 | −# Force kbuild to make empty built-in.o if necessary | |
| 8 | −obj- += dummy.o | |
| @@ -2,6 +2,3 @@ · 1 unmodified line | ||
| 2 | 2 | dtb-$(CONFIG_DT_EASY50712) += easy50712.dtb |
| 3 | 3 | |
| 4 | 4 | obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) |
| 5 | − | |
| 6 | −# Force kbuild to make empty built-in.o if necessary | |
| 7 | −obj- += dummy.o | |
| @@ -3,6 +3,3 @@ dtb-$(CONFIG_MIPS_MALTA) += malta.dtb · 2 unmodified lines | ||
| 3 | 3 | dtb-$(CONFIG_LEGACY_BOARD_SEAD3) += sead3.dtb |
| 4 | 4 | |
| 5 | 5 | obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) |
| 6 | − | |
| 7 | −# Force kbuild to make empty built-in.o if necessary | |
| 8 | −obj- += dummy.o | |
| @@ -6,6 +6,3 @@ dtb-$(CONFIG_DT_XLP_GVP) += xlp_gvp.dtb · 5 unmodified lines | ||
| 6 | 6 | dtb-$(CONFIG_DT_XLP_RVP) += xlp_rvp.dtb |
| 7 | 7 | |
| 8 | 8 | obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) |
| 9 | − | |
| 10 | −# Force kbuild to make empty built-in.o if necessary | |
| 11 | −obj- += dummy.o | |
| @@ -1,4 +1 @@ | ||
| 1 | 1 | dtb-$(CONFIG_FIT_IMAGE_FDT_NI169445) += 169445.dtb |
| 2 | − | |
| 3 | −# Force kbuild to make empty built-in.o if necessary | |
| 4 | −obj- += dummy.o | |
| @@ -5,6 +5,3 @@ dtb-$(CONFIG_DTB_PIC32_NONE) += \ · 4 unmodified lines | ||
| 5 | 5 | pic32mzda_sk.dtb |
| 6 | 6 | |
| 7 | 7 | obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) |
| 8 | − | |
| 9 | −# Force kbuild to make empty built-in.o if necessary | |
| 10 | −obj- += dummy.o | |
| @@ -5,6 +5,3 @@ dtb-$(CONFIG_ATH79) += ar9331_dpt_module.dtb · 4 unmodified lines | ||
| 5 | 5 | dtb-$(CONFIG_ATH79) += ar9331_dragino_ms14.dtb |
| 6 | 6 | dtb-$(CONFIG_ATH79) += ar9331_omega.dtb |
| 7 | 7 | dtb-$(CONFIG_ATH79) += ar9331_tl_mr3020.dtb |
| 8 | − | |
| 9 | −# Force kbuild to make empty built-in.o if necessary | |
| 10 | −obj- += dummy.o | |
| @@ -7,6 +7,3 @@ dtb-$(CONFIG_DTB_OMEGA2P) += omega2p.dtb · 6 unmodified lines | ||
| 7 | 7 | dtb-$(CONFIG_DTB_VOCORE2) += vocore2.dtb |
| 8 | 8 | |
| 9 | 9 | obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) |
| 10 | − | |
| 11 | −# Force kbuild to make empty built-in.o if necessary | |
| 12 | −obj- += dummy.o | |
| @@ -2,6 +2,3 @@ · 1 unmodified line | ||
| 2 | 2 | dtb-$(CONFIG_FIT_IMAGE_FDT_XILFPGA) += nexys4ddr.dtb |
| 3 | 3 | |
| 4 | 4 | obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) |
| 5 | − | |
| 6 | −# Force kbuild to make empty built-in.o if necessary | |
| 7 | −obj- += dummy.o | |
| @@ -59,6 +59,3 @@ endif · 58 unmodified lines | ||
| 59 | 59 | |
| 60 | 60 | targets := $(patsubst $(obj)/%,%, \ |
| 61 | 61 | $(shell find $(obj) -name \*.gen.S 2>/dev/null)) |
| 62 | −# Without this, built-in.o won't be created when it's empty, and the | |
| 63 | −# final vmlinux link will fail. | |
| 64 | −obj- := dummy | |
| @@ -1,7 +1,4 @@ | ||
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | −# kbuild trick to avoid linker error. Can be omitted if a module is built. | |
| 3 | −obj- := dummy.o | |
| 4 | − | |
| 5 | 2 | # List of programs to build |
| 6 | 3 | hostprogs-y := test_lru_dist |
| 7 | 4 | hostprogs-y += sock_example |
| @@ -1,7 +1,4 @@ | ||
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | −# kbuild trick to avoid linker error. Can be omitted if a module is built. | |
| 3 | −obj- := dummy.o | |
| 4 | − | |
| 5 | 2 | # List of programs to build |
| 6 | 3 | hostprogs-y := hid-example |
| 7 | 4 | |
| @@ -1,7 +1,4 @@ | ||
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | −# kbuild trick to avoid linker error. Can be omitted if a module is built. | |
| 3 | −obj- := dummy.o | |
| 4 | − | |
| 5 | 2 | hostprogs-$(CONFIG_SAMPLE_SECCOMP) := bpf-fancy dropper bpf-direct |
| 6 | 3 | |
| 7 | 4 | HOSTCFLAGS_bpf-fancy.o += -I$(objtree)/usr/include |
| @@ -1,6 +1,3 @@ | ||
| 1 | −# kbuild trick to avoid linker error. Can be omitted if a module is built. | |
| 2 | −obj- := dummy.o | |
| 3 | − | |
| 4 | 1 | # List of programs to build |
| 5 | 2 | hostprogs-y := sockmap |
| 6 | 3 | |
| @@ -1,6 +1,3 @@ | ||
| 1 | −# kbuild trick to avoid linker error. Can be omitted if a module is built. | |
| 2 | −obj- := dummy.o | |
| 3 | − | |
| 4 | 1 | # List of programs to build |
| 5 | 2 | hostprogs-$(CONFIG_SAMPLE_STATX) := test-statx |
| 6 | 3 | |
| @@ -1,6 +1,3 @@ | ||
| 1 | −# kbuild trick to avoid linker error. Can be omitted if a module is built. | |
| 2 | −obj- := dummy.o | |
| 3 | − | |
| 4 | 1 | # List of programs to build |
| 5 | 2 | hostprogs-y := uhid-example |
| 6 | 3 | |
| @@ -76,7 +76,7 @@ lib-target := $(obj)/lib.a · 75 unmodified lines | ||
| 76 | 76 | obj-y += $(obj)/lib-ksyms.o |
| 77 | 77 | endif |
| 78 | 78 | |
| 79 | −ifneq ($(strip $(obj-y) $(obj-m) $(obj-) $(subdir-m) $(lib-target)),) | |
| 79 | +ifneq ($(strip $(obj-y) $(need-builtin)),) | |
| 80 | 80 | builtin-target := $(obj)/built-in.o |
| 81 | 81 | endif |
| 82 | 82 | |
| @@ -566,7 +566,7 @@ targets := $(filter-out $(PHONY), $(targets)) · 483 unmodified lines | ||
| 566 | 566 | |
| 567 | 567 | PHONY += $(subdir-ym) |
| 568 | 568 | $(subdir-ym): |
| 569 | − $(Q)$(MAKE) $(build)=$@ | |
| 569 | + $(Q)$(MAKE) $(build)=$@ need-builtin=$(if $(findstring $@,$(subdir-obj-y)),1) | |
| 570 | 570 | |
| 571 | 571 | # Add FORCE to the prequisites of a target to force it to be always rebuilt. |
| 572 | 572 | # --------------------------------------------------------------------------- |
| @@ -57,7 +57,7 @@ multi-objs-m := $(foreach m, $(multi-used-m), $($(m:.o=-objs)) $($(m:.o=-y))) · 56 unmodified lines | ||
| 57 | 57 | subdir-obj-y := $(filter %/built-in.o, $(obj-y)) |
| 58 | 58 | |
| 59 | 59 | # Replace multi-part objects by their individual parts, look at local dir only |
| 60 | −real-objs-y := $(foreach m, $(filter-out $(subdir-obj-y), $(obj-y)), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) $(extra-y) | |
| 60 | +real-objs-y := $(foreach m, $(filter-out $(subdir-obj-y), $(obj-y)), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) | |
| 61 | 61 | real-objs-m := $(foreach m, $(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m))),$($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m)),$(m))) |
| 62 | 62 | |
| 63 | 63 | # DTB |
| @@ -30,12 +30,6 @@ else · 29 unmodified lines | ||
| 30 | 30 | VERBOSE=0 |
| 31 | 31 | fi |
| 32 | 32 | |
| 33 | −if [ -z "$J" ]; then | |
| 34 | − NPROC=$(getconf _NPROCESSORS_ONLN) | |
| 35 | −else | |
| 36 | − NPROC="$J" | |
| 37 | −fi | |
| 38 | − | |
| 39 | 33 | FLAGS="--very-quiet" |
| 40 | 34 | |
| 41 | 35 | # You can use SPFLAGS to append extra arguments to coccicheck or override any |
| @@ -70,6 +64,9 @@ if [ "$C" = "1" -o "$C" = "2" ]; then · 28 unmodified lines | ||
| 70 | 64 | # Take only the last argument, which is the C file to test |
| 71 | 65 | shift $(( $# - 1 )) |
| 72 | 66 | OPTIONS="$COCCIINCLUDE $1" |
| 67 | + | |
| 68 | + # No need to parallelize Coccinelle since this mode takes one input file. | |
| 69 | + NPROC=1 | |
| 73 | 70 | else |
| 74 | 71 | ONLINE=0 |
| 75 | 72 | if [ "$KBUILD_EXTMOD" = "" ] ; then |
| @@ -77,6 +74,12 @@ else · 1 unmodified line | ||
| 77 | 74 | else |
| 78 | 75 | OPTIONS="--dir $KBUILD_EXTMOD $COCCIINCLUDE" |
| 79 | 76 | fi |
| 77 | + | |
| 78 | + if [ -z "$J" ]; then | |
| 79 | + NPROC=$(getconf _NPROCESSORS_ONLN) | |
| 80 | + else | |
| 81 | + NPROC="$J" | |
| 82 | + fi | |
| 80 | 83 | fi |
| 81 | 84 | |
| 82 | 85 | if [ "$KBUILD_EXTMOD" != "" ] ; then |
| @@ -1061,7 +1061,7 @@ struct symbol **sym_re_search(const char *pattern) · 1060 unmodified lines | ||
| 1061 | 1061 | } |
| 1062 | 1062 | if (sym_match_arr) { |
| 1063 | 1063 | qsort(sym_match_arr, cnt, sizeof(struct sym_match), sym_rel_comp); |
| 1064 | − sym_arr = malloc((cnt+1) * sizeof(struct symbol)); | |
| 1064 | + sym_arr = malloc((cnt+1) * sizeof(struct symbol *)); | |
| 1065 | 1065 | if (!sym_arr) |
| 1066 | 1066 | goto sym_re_search_free; |
| 1067 | 1067 | for (i = 0; i < cnt; i++) |
| @@ -39,14 +39,13 @@ if test "$(objtree)" != "$(srctree)"; then \ · 38 unmodified lines | ||
| 39 | 39 | false; \ |
| 40 | 40 | fi ; \ |
| 41 | 41 | $(srctree)/scripts/setlocalversion --save-scmversion; \ |
| 42 | −ln -sf $(srctree) $(2); \ | |
| 43 | 42 | tar -cz $(RCS_TAR_IGNORE) -f $(2).tar.gz \ |
| 44 | − $(addprefix $(2)/,$(TAR_CONTENT) $(3)); \ | |
| 45 | −rm -f $(2) $(objtree)/.scmversion | |
| 43 | + --transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3); \ | |
| 44 | +rm -f $(objtree)/.scmversion | |
| 46 | 45 | |
| 47 | 46 | # rpm-pkg |
| 48 | 47 | # --------------------------------------------------------------------------- |
| 49 | −rpm-pkg rpm: FORCE | |
| 48 | +rpm-pkg: FORCE | |
| 50 | 49 | $(MAKE) clean |
| 51 | 50 | $(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec |
| 52 | 51 | $(call cmd,src_tar,$(KERNELPATH),kernel.spec) |
| @@ -26,7 +26,7 @@ endif · 25 unmodified lines | ||
| 26 | 26 | |
| 27 | 27 | ifneq ($(OUTPUT),) |
| 28 | 28 | # check that the output directory actually exists |
| 29 | −OUTDIR := $(shell cd $(OUTPUT) && /bin/pwd) | |
| 29 | +OUTDIR := $(shell cd $(OUTPUT) && pwd) | |
| 30 | 30 | $(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist)) |
| 31 | 31 | endif |
| 32 | 32 | |
| @@ -13,7 +13,7 @@ endif · 12 unmodified lines | ||
| 13 | 13 | |
| 14 | 14 | # check that the output directory actually exists |
| 15 | 15 | ifneq ($(OUTPUT),) |
| 16 | −OUTDIR := $(shell cd $(OUTPUT) && /bin/pwd) | |
| 16 | +OUTDIR := $(shell cd $(OUTPUT) && pwd) | |
| 17 | 17 | $(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist)) |
| 18 | 18 | endif |
| 19 | 19 | |