[PATCH v2 0/5] Add jump table support for objtool on LoongArch

Tiezhu Yang posted 5 patches 2 weeks, 4 days ago
There is a newer version of this series
arch/loongarch/Kconfig                 |  3 +
arch/loongarch/Makefile                |  9 +++
tools/objtool/arch/loongarch/special.c | 83 +++++++++++++++++++++++++-
tools/objtool/check.c                  | 38 ++++++++++--
4 files changed, 128 insertions(+), 5 deletions(-)
[PATCH v2 0/5] Add jump table support for objtool on LoongArch
Posted by Tiezhu Yang 2 weeks, 4 days ago
This series is based on 6.12-rc6, tested with the upstream mainline
binutils, GCC and Clang, all the changes are under tools/objtool and
arch/loongarch.

It is time to remove the compiler option -fno-jump-tables to enable
jump table for objtool if the compiler is GCC and it has the compiler
option -mannotate-tablejump, the next work is to add the corresponding
support with Clang after addressing some corner issues due to different
compiler behaviors.

Tiezhu Yang (5):
  objtool: Handle various symbol types for rodata
  objtool: Handle special cases of discard.reachable
  objtool/LoongArch: Add support for switch table
  objtool/LoongArch: Add support for goto table
  LoongArch: Enable jump table with GCC for objtool

 arch/loongarch/Kconfig                 |  3 +
 arch/loongarch/Makefile                |  9 +++
 tools/objtool/arch/loongarch/special.c | 83 +++++++++++++++++++++++++-
 tools/objtool/check.c                  | 38 ++++++++++--
 4 files changed, 128 insertions(+), 5 deletions(-)

-- 
2.42.0
Re: [PATCH v2 0/5] Add jump table support for objtool on LoongArch
Posted by Huacai Chen 2 weeks, 4 days ago
Hi, Jinyang,

Could you please take some time to review this series?

Huacai

On Tue, Nov 5, 2024 at 8:39 PM Tiezhu Yang <yangtiezhu@loongson.cn> wrote:
>
> This series is based on 6.12-rc6, tested with the upstream mainline
> binutils, GCC and Clang, all the changes are under tools/objtool and
> arch/loongarch.
>
> It is time to remove the compiler option -fno-jump-tables to enable
> jump table for objtool if the compiler is GCC and it has the compiler
> option -mannotate-tablejump, the next work is to add the corresponding
> support with Clang after addressing some corner issues due to different
> compiler behaviors.
>
> Tiezhu Yang (5):
>   objtool: Handle various symbol types for rodata
>   objtool: Handle special cases of discard.reachable
>   objtool/LoongArch: Add support for switch table
>   objtool/LoongArch: Add support for goto table
>   LoongArch: Enable jump table with GCC for objtool
>
>  arch/loongarch/Kconfig                 |  3 +
>  arch/loongarch/Makefile                |  9 +++
>  tools/objtool/arch/loongarch/special.c | 83 +++++++++++++++++++++++++-
>  tools/objtool/check.c                  | 38 ++++++++++--
>  4 files changed, 128 insertions(+), 5 deletions(-)
>
> --
> 2.42.0
>