mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
5ab1de932e
The new syscall table support for arm64 mistakenly used the system's asm-generic/unistd.h file when processing the tools/arch/arm64/include/uapi/asm/unistd.h file's include directive: #include <asm-generic/unistd.h> See "Committer notes" section of commit2b58824356
"perf arm64: Generate system call table from asm/unistd.h" for more details. This patch removes the committer's temporary workaround, and instructs the host compiler to search the build tree's include path for the right copy of the unistd.h file, instead of the one on the system's /usr/include path. It thus fixes the committer's test that cross-builds an arm64 perf on an x86 platform running Ubuntu 14.04.5 LTS with an old toolchain: $ tools/perf/arch/arm64/entry/syscalls/mksyscalltbl /gcc-linaro-5.4.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc gcc `pwd`/tools tools/arch/arm64/include/uapi/asm/unistd.h | grep bpf [280] = "bpf", Signed-off-by: Kim Phillips <kim.phillips@arm.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> Cc: Thomas Richter <tmricht@linux.vnet.ibm.com> Fixes:2b58824356
("perf arm64: Generate system call table from asm/unistd.h") Link: http://lkml.kernel.org/r/20180806172800.bbcec3cfcc51e2facc978bf2@arm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
29 lines
746 B
Makefile
29 lines
746 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
ifndef NO_DWARF
|
|
PERF_HAVE_DWARF_REGS := 1
|
|
endif
|
|
PERF_HAVE_JITDUMP := 1
|
|
PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
|
|
|
|
#
|
|
# Syscall table generation for perf
|
|
#
|
|
|
|
out := $(OUTPUT)arch/arm64/include/generated/asm
|
|
header := $(out)/syscalls.c
|
|
incpath := $(srctree)/tools
|
|
sysdef := $(srctree)/tools/arch/arm64/include/uapi/asm/unistd.h
|
|
sysprf := $(srctree)/tools/perf/arch/arm64/entry/syscalls/
|
|
systbl := $(sysprf)/mksyscalltbl
|
|
|
|
# Create output directory if not already present
|
|
_dummy := $(shell [ -d '$(out)' ] || mkdir -p '$(out)')
|
|
|
|
$(header): $(sysdef) $(systbl)
|
|
$(Q)$(SHELL) '$(systbl)' '$(CC)' '$(HOSTCC)' $(incpath) $(sysdef) > $@
|
|
|
|
clean::
|
|
$(call QUIET_CLEAN, arm64) $(RM) $(header)
|
|
|
|
archheaders: $(header)
|