root/arch/riscv/kernel/tests/module_test/test_uleb128.S
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (C) 2023 Rivos Inc.
 */

.text
.global test_uleb_basic
test_uleb_basic:
        lw      a0, second
        addi    a0, a0, -127
        ret

.global test_uleb_large
test_uleb_large:
        lw      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
        .word 0
third:
        .space 1000
fourth:
        .reloc fourth, R_RISCV_SET_ULEB128, fourth
        .reloc fourth, R_RISCV_SUB_ULEB128, third
        .word 0