diff options
author | 2023-11-01 11:33:01 -0700 | |
---|---|---|
committer | 2023-11-07 14:59:32 -0800 | |
commit | af71bc194916b10f9b394f9b14419d99700a5e67 (patch) | |
tree | 3ba1d884a72d6407c576fba8bff7c1d71a7caa1b /arch/riscv/kernel/tests/module_test/test_uleb128.S | |
parent | riscv: Add remaining module relocations (diff) | |
download | linux-af71bc194916b10f9b394f9b14419d99700a5e67.tar.gz linux-af71bc194916b10f9b394f9b14419d99700a5e67.tar.bz2 linux-af71bc194916b10f9b394f9b14419d99700a5e67.zip |
riscv: Add tests for riscv module loading
Add test cases for the two main groups of relocations added: SUB and
SET, along with uleb128.
Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
Link: https://lore.kernel.org/r/20231101-module_relocations-v9-3-8dfa3483c400@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'arch/riscv/kernel/tests/module_test/test_uleb128.S')
-rw-r--r-- | arch/riscv/kernel/tests/module_test/test_uleb128.S | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/riscv/kernel/tests/module_test/test_uleb128.S b/arch/riscv/kernel/tests/module_test/test_uleb128.S new file mode 100644 index 000000000000..90f22049d553 --- /dev/null +++ b/arch/riscv/kernel/tests/module_test/test_uleb128.S @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2023 Rivos Inc. + */ + +.text +.global test_uleb_basic +test_uleb_basic: + ld a0, second + addi a0, a0, -127 + ret + +.global test_uleb_large +test_uleb_large: + ld a0, fourth + addi a0, a0, -0x07e8 + ret + +.data +first: + .space 127 +second: + .reloc second, R_RISCV_SET_ULEB128, second + .reloc second, R_RISCV_SUB_ULEB128, first + .dword 0 +third: + .space 1000 +fourth: + .reloc fourth, R_RISCV_SET_ULEB128, fourth + .reloc fourth, R_RISCV_SUB_ULEB128, third + .dword 0 |