[PATCH v3 0/2] Handle .data.rel.ro correctly and use it for BPF

From: Ard Biesheuvel
Date: Fri Feb 21 2025 - 08:58:39 EST


From: Ard Biesheuvel <ardb@xxxxxxxxxx>

LoongArch uses PIE codegen for the entire kernel, which has some
implications for how .rodata is populated and emitted into vmlinux.

Changes since v2:

- Rewrite patch titles and commit logs

Changes since v1: [0]

- Always use .data.rel.ro.c_jump_table for C jump tables
- Add Tiezhu Yang's Tested-by
- Split into two patches and rebase onto Linus's tree

[0] https://lore.kernel.org/all/20250218092538.1903204-2-ardb+git@xxxxxxxxxx/T/#u

Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>

Ard Biesheuvel (2):
vmlinux.lds: Ensure that const vars with relocations are mapped R/O
objtool: Fix C jump table annotations for Clang

include/asm-generic/vmlinux.lds.h | 2 +-
include/linux/compiler.h | 2 +-
tools/objtool/check.c | 7 ++++---
tools/objtool/include/objtool/special.h | 2 +-
4 files changed, 7 insertions(+), 6 deletions(-)

--
2.48.1.601.g30ceb7b040-goog