History

perf beauty: Move prctl.h files (uapi/linux and x86's) copy out of the directory used to build perf

It is used only to generate string tables, not to build perf, so move it to the tools/perf/trace/beauty/{include,arch}/ hierarchies, that is used just for scraping. This is a something that should've have happened, as happened with the linux/socket.h scrapper, do it now as Ian suggested while doing an audit/refactor session in the headers used by perf. No other tools/ living code uses it, just <linux/usbdevice_fs.h> coming from either 'make install_headers' or from the system /usr/include/ directory.

Arnaldo Carvalho de Melo committed 2 years ago

Commit eb01fe71 parent f324b736 files · +12 −13Browse files

Unified · Split

6 files
  1. tools/perf/Makefile.perf +5 −6
  2. tools/perf/check-headers.sh +2 −2
  3. tools/perf/trace/beauty/arch/x86/include/uapi/asm/prctl.h +0 −0
  4. tools/perf/trace/beauty/include/uapi/linux/prctl.h +0 −0
  5. tools/perf/trace/beauty/prctl_option.sh +3 −3
  6. tools/perf/trace/beauty/x86_arch_prctl.sh +2 −2
tools/perf/Makefile.perf+5−6
@@ -475,11 +475,11 @@ beauty_linux_dir := $(srctree)/tools/perf/trace/beauty/include/linux/ · 474 unmodified lines
475475 beauty_uapi_linux_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/linux/
476476 beauty_uapi_sound_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/sound/
477477 beauty_arch_asm_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/asm/
478+beauty_x86_arch_asm_uapi_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/uapi/asm/
478479
479480 linux_uapi_dir := $(srctree)/tools/include/uapi/linux
480481 asm_generic_uapi_dir := $(srctree)/tools/include/uapi/asm-generic
481482 arch_asm_uapi_dir := $(srctree)/tools/arch/$(SRCARCH)/include/uapi/asm/
482−x86_arch_asm_uapi_dir := $(srctree)/tools/arch/x86/include/uapi/asm/
483483 x86_arch_asm_dir := $(srctree)/tools/arch/x86/include/asm/
484484
485485 beauty_outdir := $(OUTPUT)trace/beauty/generated
@@ -617,11 +617,10 @@ $(mmap_prot_array): $(asm_generic_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman- · 131 unmodified lines
617617 $(Q)$(SHELL) '$(mmap_prot_tbl)' $(asm_generic_uapi_dir) $(arch_asm_uapi_dir) > $@
618618
619619 prctl_option_array := $(beauty_outdir)/prctl_option_array.c
620−prctl_hdr_dir := $(srctree)/tools/include/uapi/linux/
621620 prctl_option_tbl := $(srctree)/tools/perf/trace/beauty/prctl_option.sh
622621
623−$(prctl_option_array): $(prctl_hdr_dir)/prctl.h $(prctl_option_tbl)
624− $(Q)$(SHELL) '$(prctl_option_tbl)' $(prctl_hdr_dir) > $@
622+$(prctl_option_array): $(beauty_uapi_linux_dir)/prctl.h $(prctl_option_tbl)
623+ $(Q)$(SHELL) '$(prctl_option_tbl)' $(beauty_uapi_linux_dir) > $@
625624
626625 usbdevfs_ioctl_array := $(beauty_ioctl_outdir)/usbdevfs_ioctl_array.c
627626 usbdevfs_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/usbdevfs_ioctl.sh
@@ -632,8 +631,8 @@ $(usbdevfs_ioctl_array): $(beauty_uapi_linux_dir)/usbdevice_fs.h $(usbdevfs_ioct · 4 unmodified lines
632631 x86_arch_prctl_code_array := $(beauty_outdir)/x86_arch_prctl_code_array.c
633632 x86_arch_prctl_code_tbl := $(srctree)/tools/perf/trace/beauty/x86_arch_prctl.sh
634633
635−$(x86_arch_prctl_code_array): $(x86_arch_asm_uapi_dir)/prctl.h $(x86_arch_prctl_code_tbl)
636− $(Q)$(SHELL) '$(x86_arch_prctl_code_tbl)' $(x86_arch_asm_uapi_dir) > $@
634+$(x86_arch_prctl_code_array): $(beauty_x86_arch_asm_uapi_dir)/prctl.h $(x86_arch_prctl_code_tbl)
635+ $(Q)$(SHELL) '$(x86_arch_prctl_code_tbl)' $(beauty_x86_arch_asm_uapi_dir) > $@
637636
638637 x86_arch_irq_vectors_array := $(beauty_outdir)/x86_arch_irq_vectors_array.c
639638 x86_arch_irq_vectors_tbl := $(srctree)/tools/perf/trace/beauty/tracepoints/x86_irq_vectors.sh
tools/perf/check-headers.sh+2−2
@@ -17,7 +17,6 @@ FILES=( · 16 unmodified lines
1717 "include/uapi/linux/in.h"
1818 "include/uapi/linux/openat2.h"
1919 "include/uapi/linux/perf_event.h"
20− "include/uapi/linux/prctl.h"
2120 "include/uapi/linux/sched.h"
2221 "include/uapi/linux/seccomp.h"
2322 "include/uapi/linux/stat.h"
@@ -35,7 +34,6 @@ FILES=( · 11 unmodified lines
3534 "arch/x86/include/asm/inat_types.h"
3635 "arch/x86/include/asm/emulate_prefix.h"
3736 "arch/x86/include/asm/msr-index.h"
38− "arch/x86/include/uapi/asm/prctl.h"
3937 "arch/x86/lib/x86-opcode-map.txt"
4038 "arch/x86/tools/gen-insn-attr-x86.awk"
4139 "arch/arm/include/uapi/asm/perf_regs.h"
@@ -93,9 +91,11 @@ SYNC_CHECK_FILES=( · 51 unmodified lines
9391 declare -a BEAUTY_FILES
9492 BEAUTY_FILES=(
9593 "arch/x86/include/asm/irq_vectors.h"
94+ "arch/x86/include/uapi/asm/prctl.h"
9695 "include/linux/socket.h"
9796 "include/uapi/linux/fs.h"
9897 "include/uapi/linux/mount.h"
98+ "include/uapi/linux/prctl.h"
9999 "include/uapi/linux/usbdevice_fs.h"
100100 "include/uapi/sound/asound.h"
101101 )
tools/perf/trace/beauty/arch/x86/include/uapi/asm/prctl.hrenamed from tools/arch/x86/include/uapi/asm/prctl.h+0−0

File renamed without changes.

tools/perf/trace/beauty/include/uapi/linux/prctl.hrenamed from tools/include/uapi/linux/prctl.h+0−0

File renamed without changes.

tools/perf/trace/beauty/prctl_option.sh+3−3
@@ -1,18 +1,18 @@
11 #!/bin/sh
22 # SPDX-License-Identifier: LGPL-2.1
33
4−[ $# -eq 1 ] && header_dir=$1 || header_dir=tools/include/uapi/linux/
4+[ $# -eq 1 ] && beauty_uapi_linux_dir=$1 || beauty_uapi_linux_dir=tools/perf/trace/beauty/include/uapi/linux/
55
66 printf "static const char *prctl_options[] = {\n"
77 regex='^#define[[:space:]]{1}PR_(\w+)[[:space:]]*([[:xdigit:]]+)([[:space:]]*/.*)?$'
8−grep -E $regex ${header_dir}/prctl.h | grep -v PR_SET_PTRACER | \
8+grep -E $regex ${beauty_uapi_linux_dir}/prctl.h | grep -v PR_SET_PTRACER | \
99 sed -E "s%$regex%\2 \1%g" | \
1010 sort -n | xargs printf "\t[%s] = \"%s\",\n"
1111 printf "};\n"
1212
1313 printf "static const char *prctl_set_mm_options[] = {\n"
1414 regex='^#[[:space:]]+define[[:space:]]+PR_SET_MM_(\w+)[[:space:]]*([[:digit:]]+).*'
15−grep -E $regex ${header_dir}/prctl.h | \
15+grep -E $regex ${beauty_uapi_linux_dir}/prctl.h | \
1616 sed -r "s/$regex/\2 \1/g" | \
1717 sort -n | xargs printf "\t[%s] = \"%s\",\n"
1818 printf "};\n"
tools/perf/trace/beauty/x86_arch_prctl.sh+2−2
@@ -2,9 +2,9 @@ · 1 unmodified line
22 # Copyright (C) 2018, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
33 # SPDX-License-Identifier: LGPL-2.1
44
5−[ $# -eq 1 ] && x86_header_dir=$1 || x86_header_dir=tools/arch/x86/include/uapi/asm/
5+[ $# -eq 1 ] && beauty_x86_arch_asm_uapi_dir=$1 || beauty_x86_arch_asm_uapi_dir=tools/perf/trace/beauty/arch/x86/include/uapi/asm/
66
7−prctl_arch_header=${x86_header_dir}/prctl.h
7+prctl_arch_header=${beauty_x86_arch_asm_uapi_dir}/prctl.h
88
99 print_range () {
1010 idx=$1