• Ravi Bangoria's avatar
    perf powerpc: Rework syscall table generation · 02061318
    Ravi Bangoria authored
    Commit aff85039 ("powerpc: add system call table generation
    support") changed how systemcall table is generated for powerpc.
    Incorporate these changes into perf as well.
    
    Committer testing:
    
      $ podman run --entrypoint=/bin/sh --privileged -v /home/acme/git:/git --rm -ti docker.io/acmel/linux-perf-tools-build-ubuntu:18.04-x-powerpc64
      perfbuilder@d7a7af166a80:/git/perf$ head -2 /etc/os-release
      NAME="Ubuntu"
      VERSION="18.04.1 LTS (Bionic Beaver)"
      perfbuilder@d7a7af166a80:/git/perf$
      perfbuilder@d7a7af166a80:/git/perf$ make ARCH=powerpc CROSS_COMPILE=powerpc64-linux-gnu- EXTRA_CFLAGS= -C /git/linux/tools/perf O=/tmp/build/perf
      make: Entering directory '/git/linux/tools/perf'
        BUILD:   Doing 'make -j8' parallel build
        HOSTCC   /tmp/build/perf/fixdep.o
        HOSTLD   /tmp/build/perf/fixdep-in.o
        LINK     /tmp/build/perf/fixdep
      Warning: Kernel ABI header at 'tools/include/uapi/linux/mman.h' differs from latest version at 'include/uapi/linux/mman.h'
      diff -u tools/include/uapi/linux/mman.h include/uapi/linux/mman.h
      sh: 1: command: Illegal option -c
    
      Auto-detecting system features:
      ...                         dwarf: [ on  ]
      ...            dwarf_getlocations: [ on  ]
      ...                         glibc: [ on  ]
      ...                          gtk2: [ OFF ]
      ...                      libaudit: [ OFF ]
      ...                        libbfd: [ OFF ]
      ...                        libelf: [ on  ]
      ...                       libnuma: [ OFF ]
      ...        numa_num_possible_cpus: [ OFF ]
      ...                       libperl: [ OFF ]
      ...                     libpython: [ OFF ]
      ...                      libslang: [ OFF ]
      ...                     libcrypto: [ OFF ]
      ...                     libunwind: [ OFF ]
      ...            libdw-dwarf-unwind: [ on  ]
      ...                          zlib: [ on  ]
      ...                          lzma: [ OFF ]
      ...                     get_cpuid: [ OFF ]
      ...                           bpf: [ on  ]
    
      Makefile.config:445: No sys/sdt.h found, no SDT events are defined, please install systemtap-sdt-devel or systemtap-sdt-dev
      Makefile.config:491: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
      Makefile.config:583: No libcrypto.h found, disables jitted code injection, please install libssl-devel or libssl-dev
      Makefile.config:598: slang not found, disables TUI support. Please install slang-devel, libslang-dev or libslang2-dev
      Makefile.config:612: GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev
      Makefile.config:639: Missing perl devel files. Disabling perl scripting support, please install perl-ExtUtils-Embed/libperl-dev
      Makefile.config:666: No python interpreter was found: disables Python support - please install python-devel/python-dev
      Makefile.config:721: No bfd.h/libbfd found, please install binutils-dev[el]/zlib-static/libiberty-dev to gain symbol demangling
      Makefile.config:750: No liblzma found, disables xz kernel module decompression, please install xz-devel/liblzma-dev
      Makefile.config:763: No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev
      Makefile.config:814: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
      Makefile.config:840: No alternatives command found, you need to set JDIR= to point to the root of your Java directory
        GEN      /tmp/build/perf/common-cmds.h
      <SNIP>
        CC       /tmp/build/perf/util/syscalltbl.o
      <SNIP>
        LD       /tmp/build/perf/libperf-in.o
        AR       /tmp/build/perf/libperf.a
        LINK     /tmp/build/perf/perf
      make: Leaving directory '/git/linux/tools/perf'
      perfbuilder@d7a7af166a80:/git/perf$ head /tmp/build/perf/arch/powerpc/include/generated/asm/syscalls_64.c
      static const char *syscalltbl_powerpc_64[] = {
      	[0] = "restart_syscall",
      	[1] = "exit",
      	[2] = "fork",
      	[3] = "read",
      	[4] = "write",
      	[5] = "open",
      	[6] = "close",
      	[7] = "waitpid",
      	[8] = "creat",
      perfbuilder@d7a7af166a80:/git/perf$ tail /tmp/build/perf/arch/powerpc/include/generated/asm/syscalls_64.c
      	[381] = "pwritev2",
      	[382] = "kexec_file_load",
      	[383] = "statx",
      	[384] = "pkey_alloc",
      	[385] = "pkey_free",
      	[386] = "pkey_mprotect",
      	[387] = "rseq",
      	[388] = "io_pgetevents",
      };
      #define SYSCALLTBL_POWERPC_64_MAX_ID 388
      perfbuilder@d7a7af166a80:/git/perf$ head /tmp/build/perf/arch/powerpc/include/generated/asm/syscalls_32.c
      static const char *syscalltbl_powerpc_32[] = {
      	[0] = "restart_syscall",
      	[1] = "exit",
      	[2] = "fork",
      	[3] = "read",
      	[4] = "write",
      	[5] = "open",
      	[6] = "close",
      	[7] = "waitpid",
      	[8] = "creat",
      perfbuilder@d7a7af166a80:/git/perf$ tail /tmp/build/perf/arch/powerpc/include/generated/asm/syscalls_32.c
      	[381] = "pwritev2",
      	[382] = "kexec_file_load",
      	[383] = "statx",
      	[384] = "pkey_alloc",
      	[385] = "pkey_free",
      	[386] = "pkey_mprotect",
      	[387] = "rseq",
      	[388] = "io_pgetevents",
      };
      #define SYSCALLTBL_POWERPC_32_MAX_ID 388
      perfbuilder@d7a7af166a80:/git/perf$
    Signed-off-by: default avatarRavi Bangoria <ravi.bangoria@linux.ibm.com>
    Reported-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lkml.kernel.org/r/20190110094936.3132-1-ravi.bangoria@linux.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    02061318
syscall.tbl 17.9 KB