Less code means less bugs so add a knob to skip the compat stuff. This is tested on ppc64le top of https://patchwork.ozlabs.org/patch/1153850/ https://patchwork.ozlabs.org/patch/1158412/ Changes in v2: saner CONFIG_COMPAT ifdefs Changes in v3: - change llseek to 32bit instead of builing it unconditionally in fs - clanup the makefile conditionals - remove some ifdefs or convert to IS_DEFINED where possible Changes in v4: - cleanup is_32bit_task and current_is_64bit - more makefile cleanup Changes in v5: - more current_is_64bit cleanup - split off callchain.c 32bit and 64bit parts Changes in v6: - cleanup makefile after split - consolidate read_user_stack_32 - fix some checkpatch warnings Changes in v7: - add back __ARCH_WANT_SYS_LLSEEK to fix build with llseek - remove leftover hunk - add review tags Changes in v8: - consolidate valid_user_sp to fix it in the split callchain.c - fix build errors/warnings with PPC64 !COMPAT and PPC32 Changes in v9: - remove current_is_64bit() Michal Suchanek (8): powerpc: Add back __ARCH_WANT_SYS_LLSEEK macro powerpc: move common register copy functions from signal_32.c to signal.c powerpc/perf: consolidate read_user_stack_32 powerpc/perf: consolidate valid_user_sp powerpc/perf: remove current_is_64bit() powerpc/64: make buildable without CONFIG_COMPAT powerpc/64: Make COMPAT user-selectable disabled on littleendian by default. powerpc/perf: split callchain.c by bitness arch/powerpc/Kconfig | 5 +- arch/powerpc/include/asm/thread_info.h | 4 +- arch/powerpc/include/asm/unistd.h | 1 + arch/powerpc/kernel/Makefile | 7 +- arch/powerpc/kernel/entry_64.S | 2 + arch/powerpc/kernel/signal.c | 144 ++++++++- arch/powerpc/kernel/signal_32.c | 140 --------- arch/powerpc/kernel/syscall_64.c | 6 +- arch/powerpc/kernel/vdso.c | 3 +- arch/powerpc/perf/Makefile | 5 +- arch/powerpc/perf/callchain.c | 387 +------------------------ arch/powerpc/perf/callchain.h | 25 ++ arch/powerpc/perf/callchain_32.c | 197 +++++++++++++ arch/powerpc/perf/callchain_64.c | 178 ++++++++++++ fs/read_write.c | 3 +- 15 files changed, 565 insertions(+), 542 deletions(-) create mode 100644 arch/powerpc/perf/callchain.h create mode 100644 arch/powerpc/perf/callchain_32.c create mode 100644 arch/powerpc/perf/callchain_64.c -- 2.23.0