[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAAhV-H43VOj9UhMjv-um-U3Hyix_KStNhuwzTHSRxnuk-u4bvg@mail.gmail.com>
Date: Wed, 7 Feb 2024 21:27:47 +0800
From: Huacai Chen <chenhuacai@...nel.org>
To: Tiezhu Yang <yangtiezhu@...ngson.cn>
Cc: Josh Poimboeuf <jpoimboe@...nel.org>, Peter Zijlstra <peterz@...radead.org>, loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6 0/8] Add objtool, orc and livepatching support for LoongArch
Hi, Josh and Peter,
This version looks good to me now. Should this series go through the
objtool tree or the loongarch tree? If it should go through the
objtool tree, then please apply the first 6 patches with
Acked-by: Huacai Chen <chenhuacai@...ngson.cn>
And if it can go through the loongarch tree, I will apply the whole 8
patches. Thanks.
Huacai
On Tue, Jan 30, 2024 at 2:17 PM Tiezhu Yang <yangtiezhu@...ngson.cn> wrote:
>
> This version is based on 6.8-rc2, tested with the latest upstream
> gcc and binutils (20240129).
>
> v6:
> -- Add "-mno-relax" option
> -- Remove "-fno-optimize-sibling-calls" option
> -- Remove "-falign-functions=4 -falign-labels=4" options
> -- Remove "#ifdef CONFIG_CPU_HAS_LBT" in lbt.S
> -- Remove patch "objtool: Check local label about sibling call"
> -- Silence the objtool warnings under CONFIG_FUNCTION_TRACER
> -- Add livepatching support and fix the problems when testing
>
> Tiezhu Yang (8):
> objtool/LoongArch: Enable objtool to be built
> objtool/LoongArch: Implement instruction decoder
> objtool/x86: Separate arch-specific and generic parts
> objtool/LoongArch: Enable orc to be built
> objtool: Check local label in add_dead_ends()
> objtool: Check local label in read_unwind_hints()
> LoongArch: Add ORC stack unwinder support
> LoongArch: Add kernel livepatching support
>
> arch/loongarch/Kconfig | 6 +
> arch/loongarch/Kconfig.debug | 11 +
> arch/loongarch/Makefile | 23 +-
> arch/loongarch/include/asm/Kbuild | 2 +
> arch/loongarch/include/asm/bug.h | 1 +
> arch/loongarch/include/asm/exception.h | 2 +
> arch/loongarch/include/asm/module.h | 7 +
> arch/loongarch/include/asm/orc_header.h | 18 +
> arch/loongarch/include/asm/orc_lookup.h | 31 ++
> arch/loongarch/include/asm/orc_types.h | 58 ++
> arch/loongarch/include/asm/stackframe.h | 3 +
> arch/loongarch/include/asm/thread_info.h | 2 +
> arch/loongarch/include/asm/unwind.h | 20 +-
> arch/loongarch/include/asm/unwind_hints.h | 28 +
> arch/loongarch/kernel/Makefile | 4 +
> arch/loongarch/kernel/entry.S | 5 +
> arch/loongarch/kernel/fpu.S | 7 +
> arch/loongarch/kernel/genex.S | 6 +
> arch/loongarch/kernel/lbt.S | 2 +
> arch/loongarch/kernel/mcount_dyn.S | 6 +
> arch/loongarch/kernel/module.c | 22 +-
> arch/loongarch/kernel/relocate_kernel.S | 8 +-
> arch/loongarch/kernel/rethook_trampoline.S | 1 +
> arch/loongarch/kernel/setup.c | 2 +
> arch/loongarch/kernel/stacktrace.c | 42 ++
> arch/loongarch/kernel/traps.c | 42 +-
> arch/loongarch/kernel/unwind_orc.c | 516 ++++++++++++++++++
> arch/loongarch/kernel/vmlinux.lds.S | 3 +
> arch/loongarch/kvm/switch.S | 9 +-
> arch/loongarch/lib/clear_user.S | 2 +
> arch/loongarch/lib/copy_user.S | 2 +
> arch/loongarch/lib/memcpy.S | 2 +
> arch/loongarch/lib/memset.S | 2 +
> arch/loongarch/mm/tlb.c | 27 +-
> arch/loongarch/mm/tlbex.S | 9 +
> arch/loongarch/vdso/Makefile | 1 +
> include/linux/compiler.h | 9 +
> scripts/Makefile | 7 +-
> tools/arch/loongarch/include/asm/inst.h | 161 ++++++
> tools/arch/loongarch/include/asm/orc_types.h | 58 ++
> tools/include/linux/bitops.h | 11 +
> tools/objtool/Makefile | 4 +
> tools/objtool/arch/loongarch/Build | 3 +
> tools/objtool/arch/loongarch/decode.c | 356 ++++++++++++
> .../arch/loongarch/include/arch/cfi_regs.h | 22 +
> .../objtool/arch/loongarch/include/arch/elf.h | 30 +
> .../arch/loongarch/include/arch/special.h | 33 ++
> tools/objtool/arch/loongarch/orc.c | 171 ++++++
> tools/objtool/arch/loongarch/special.c | 15 +
> tools/objtool/arch/x86/Build | 1 +
> tools/objtool/arch/x86/orc.c | 188 +++++++
> tools/objtool/check.c | 52 +-
> tools/objtool/include/objtool/elf.h | 1 +
> tools/objtool/include/objtool/orc.h | 14 +
> tools/objtool/orc_dump.c | 69 +--
> tools/objtool/orc_gen.c | 113 +---
> 56 files changed, 2011 insertions(+), 239 deletions(-)
> create mode 100644 arch/loongarch/include/asm/orc_header.h
> create mode 100644 arch/loongarch/include/asm/orc_lookup.h
> create mode 100644 arch/loongarch/include/asm/orc_types.h
> create mode 100644 arch/loongarch/include/asm/unwind_hints.h
> create mode 100644 arch/loongarch/kernel/unwind_orc.c
> create mode 100644 tools/arch/loongarch/include/asm/inst.h
> create mode 100644 tools/arch/loongarch/include/asm/orc_types.h
> create mode 100644 tools/objtool/arch/loongarch/Build
> create mode 100644 tools/objtool/arch/loongarch/decode.c
> create mode 100644 tools/objtool/arch/loongarch/include/arch/cfi_regs.h
> create mode 100644 tools/objtool/arch/loongarch/include/arch/elf.h
> create mode 100644 tools/objtool/arch/loongarch/include/arch/special.h
> create mode 100644 tools/objtool/arch/loongarch/orc.c
> create mode 100644 tools/objtool/arch/loongarch/special.c
> create mode 100644 tools/objtool/arch/x86/orc.c
> create mode 100644 tools/objtool/include/objtool/orc.h
>
> --
> 2.42.0
>
Powered by blists - more mailing lists