[PATCH v3 0/2] riscv: switch to relative extable

From: Jisheng Zhang
Date: Thu Oct 21 2021 - 12:27:01 EST


From: Jisheng Zhang <jszhang@xxxxxxxxxx>

Similar as other architectures such as arm64, x86 and so on, use
offsets relative to the exception table entry values rather than
absolute addresses for both the exception locationand the fixup.

patch1 consolidates the __ex_table construction, it's a great code
clean up even w/o the 2nd patch.

patch2 does the real job.

Since v2:
- directly check R_RISCV_SUB32 in __ex_table instead of adding
addend_riscv_rela()

Since v1:
- fix build error for NOMMU case, thank lkp@xxxxxxxxx


Jisheng Zhang (2):
riscv: consolidate __ex_table construction
riscv: switch to relative exception tables

arch/riscv/include/asm/Kbuild | 1 -
arch/riscv/include/asm/extable.h | 25 ++++++++++++++++++++
arch/riscv/include/asm/futex.h | 12 +++-------
arch/riscv/include/asm/uaccess.h | 40 +++++++++++---------------------
arch/riscv/lib/uaccess.S | 4 ++--
arch/riscv/mm/extable.c | 2 +-
scripts/mod/modpost.c | 15 ++++++++++++
scripts/sorttable.c | 2 +-
8 files changed, 61 insertions(+), 40 deletions(-)
create mode 100644 arch/riscv/include/asm/extable.h

--
2.33.0