Skip to content
/ linux Public
forked from torvalds/linux

Commit

Permalink
kbuild: remove unnecessary in-subshell execution
Browse files Browse the repository at this point in the history
The commands surrounded by ( ) are executed in a subshell, but in
most cases, we do not need to spawn an extra subshell.

Signed-off-by: Masahiro Yamada <[email protected]>
  • Loading branch information
masahir0y committed Jan 28, 2019
1 parent afa974b commit b79c6aa
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 15 deletions.
4 changes: 2 additions & 2 deletions scripts/Makefile.build
Original file line number Diff line number Diff line change
Expand Up @@ -312,11 +312,11 @@ $(real-obj-m:.o=.s): modkern_aflags := $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE)
#
# These mirror gensymtypes_c and co above, keep them in synch.
cmd_gensymtypes_S = \
(echo "\#include <linux/kernel.h>" ; \
{ echo "\#include <linux/kernel.h>" ; \
echo "\#include <asm/asm-prototypes.h>" ; \
$(CPP) $(a_flags) $< | \
grep "\<___EXPORT_SYMBOL\>" | \
sed 's/.*___EXPORT_SYMBOL[[:space:]]*\([a-zA-Z0-9_]*\)[[:space:]]*,.*/EXPORT_SYMBOL(\1);/' ) | \
sed 's/.*___EXPORT_SYMBOL[[:space:]]*\([a-zA-Z0-9_]*\)[[:space:]]*,.*/EXPORT_SYMBOL(\1);/' ; } | \
$(CPP) -D__GENKSYMS__ $(c_flags) -xc - | \
$(GENKSYMS) $(if $(1), -T $(2)) \
$(patsubst y,-R,$(CONFIG_MODULE_REL_CRCS)) \
Expand Down
21 changes: 10 additions & 11 deletions scripts/Makefile.lib
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ DTC_FLAGS += $(DTC_FLAGS_$(basetarget))
# Generate an assembly file to wrap the output of the device tree compiler
quiet_cmd_dt_S_dtb= DTB $@
cmd_dt_S_dtb= \
( \
{ \
echo '\#include <asm-generic/vmlinux.lds.h>'; \
echo '.section .dtb.init.rodata,"a"'; \
echo '.balign STRUCT_ALIGNMENT'; \
Expand All @@ -281,7 +281,7 @@ cmd_dt_S_dtb= \
echo '__dtb_$(subst -,_,$(*F))_end:'; \
echo '.global __dtb_$(subst -,_,$(*F))_end'; \
echo '.balign STRUCT_ALIGNMENT'; \
) > $@
} > $@

$(obj)/%.dtb.S: $(obj)/%.dtb FORCE
$(call if_changed,dt_S_dtb)
Expand Down Expand Up @@ -335,20 +335,20 @@ printf "%08x\n" $$dec_size | \
)

quiet_cmd_bzip2 = BZIP2 $@
cmd_bzip2 = (cat $(real-prereqs) | bzip2 -9 && $(size_append)) > $@
cmd_bzip2 = { cat $(real-prereqs) | bzip2 -9 && $(size_append); } > $@

# Lzma
# ---------------------------------------------------------------------------

quiet_cmd_lzma = LZMA $@
cmd_lzma = (cat $(real-prereqs) | lzma -9 && $(size_append)) > $@
cmd_lzma = { cat $(real-prereqs) | lzma -9 && $(size_append); } > $@

quiet_cmd_lzo = LZO $@
cmd_lzo = (cat $(real-prereqs) | lzop -9 && $(size_append)) > $@
cmd_lzo = { cat $(real-prereqs) | lzop -9 && $(size_append); } > $@

quiet_cmd_lz4 = LZ4 $@
cmd_lz4 = (cat $(real-prereqs) | lz4c -l -c1 stdin stdout && \
$(size_append)) > $@
cmd_lz4 = { cat $(real-prereqs) | lz4c -l -c1 stdin stdout && \
$(size_append); } > $@

# U-Boot mkimage
# ---------------------------------------------------------------------------
Expand Down Expand Up @@ -390,12 +390,11 @@ quiet_cmd_uimage = UIMAGE $@
# big dictionary would increase the memory usage too much in the multi-call
# decompression mode. A BCJ filter isn't used either.
quiet_cmd_xzkern = XZKERN $@
cmd_xzkern = (cat $(real-prereqs) | \
sh $(srctree)/scripts/xz_wrap.sh && $(size_append)) > $@
cmd_xzkern = { cat $(real-prereqs) | sh $(srctree)/scripts/xz_wrap.sh && \
$(size_append); } > $@

quiet_cmd_xzmisc = XZMISC $@
cmd_xzmisc = (cat $(real-prereqs) | \
xz --check=crc32 --lzma2=dict=1MiB) > $@
cmd_xzmisc = cat $(real-prereqs) | xz --check=crc32 --lzma2=dict=1MiB > $@

# ASM offsets
# ---------------------------------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions scripts/mkcompile_h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"

# Generate a temporary compile.h

( echo /\* This file is auto generated, version $VERSION \*/
{ echo /\* This file is auto generated, version $VERSION \*/
if [ -n "$CONFIG_FLAGS" ] ; then echo "/* $CONFIG_FLAGS */"; fi

echo \#define UTS_MACHINE \"$ARCH\"
Expand All @@ -73,7 +73,7 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"
echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"

echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | grep ' version ' | sed 's/[[:space:]]*$//'`\"
) > .tmpcompile
} > .tmpcompile

# Only replace the real compile.h if the new one is different,
# in order to preserve the timestamp and avoid unnecessary
Expand Down

0 comments on commit b79c6aa

Please sign in to comment.