1bd744d46SAndrew Jones // SPDX-License-Identifier: GPL-2.0-only 23b10c7e2SAndrew Jones #include <kbuild.h> 33b10c7e2SAndrew Jones #include <elf.h> 4*386561f8SAndrew Jones #include <asm/ptrace.h> 5bd744d46SAndrew Jones 6bd744d46SAndrew Jones int main(void) 7bd744d46SAndrew Jones { 83b10c7e2SAndrew Jones #if __riscv_xlen == 32 93b10c7e2SAndrew Jones OFFSET(ELF_RELA_OFFSET, elf32_rela, r_offset); 103b10c7e2SAndrew Jones OFFSET(ELF_RELA_ADDEND, elf32_rela, r_addend); 113b10c7e2SAndrew Jones DEFINE(ELF_RELA_SIZE, sizeof(struct elf32_rela)); 123b10c7e2SAndrew Jones #elif __riscv_xlen == 64 133b10c7e2SAndrew Jones OFFSET(ELF_RELA_OFFSET, elf64_rela, r_offset); 143b10c7e2SAndrew Jones OFFSET(ELF_RELA_ADDEND, elf64_rela, r_addend); 153b10c7e2SAndrew Jones DEFINE(ELF_RELA_SIZE, sizeof(struct elf64_rela)); 163b10c7e2SAndrew Jones #endif 17*386561f8SAndrew Jones OFFSET(PT_EPC, pt_regs, epc); 18*386561f8SAndrew Jones OFFSET(PT_RA, pt_regs, ra); 19*386561f8SAndrew Jones OFFSET(PT_SP, pt_regs, sp); 20*386561f8SAndrew Jones OFFSET(PT_GP, pt_regs, gp); 21*386561f8SAndrew Jones OFFSET(PT_TP, pt_regs, tp); 22*386561f8SAndrew Jones OFFSET(PT_T0, pt_regs, t0); 23*386561f8SAndrew Jones OFFSET(PT_T1, pt_regs, t1); 24*386561f8SAndrew Jones OFFSET(PT_T2, pt_regs, t2); 25*386561f8SAndrew Jones OFFSET(PT_S0, pt_regs, s0); 26*386561f8SAndrew Jones OFFSET(PT_S1, pt_regs, s1); 27*386561f8SAndrew Jones OFFSET(PT_A0, pt_regs, a0); 28*386561f8SAndrew Jones OFFSET(PT_A1, pt_regs, a1); 29*386561f8SAndrew Jones OFFSET(PT_A2, pt_regs, a2); 30*386561f8SAndrew Jones OFFSET(PT_A3, pt_regs, a3); 31*386561f8SAndrew Jones OFFSET(PT_A4, pt_regs, a4); 32*386561f8SAndrew Jones OFFSET(PT_A5, pt_regs, a5); 33*386561f8SAndrew Jones OFFSET(PT_A6, pt_regs, a6); 34*386561f8SAndrew Jones OFFSET(PT_A7, pt_regs, a7); 35*386561f8SAndrew Jones OFFSET(PT_S2, pt_regs, s2); 36*386561f8SAndrew Jones OFFSET(PT_S3, pt_regs, s3); 37*386561f8SAndrew Jones OFFSET(PT_S4, pt_regs, s4); 38*386561f8SAndrew Jones OFFSET(PT_S5, pt_regs, s5); 39*386561f8SAndrew Jones OFFSET(PT_S6, pt_regs, s6); 40*386561f8SAndrew Jones OFFSET(PT_S7, pt_regs, s7); 41*386561f8SAndrew Jones OFFSET(PT_S8, pt_regs, s8); 42*386561f8SAndrew Jones OFFSET(PT_S9, pt_regs, s9); 43*386561f8SAndrew Jones OFFSET(PT_S10, pt_regs, s10); 44*386561f8SAndrew Jones OFFSET(PT_S11, pt_regs, s11); 45*386561f8SAndrew Jones OFFSET(PT_T3, pt_regs, t3); 46*386561f8SAndrew Jones OFFSET(PT_T4, pt_regs, t4); 47*386561f8SAndrew Jones OFFSET(PT_T5, pt_regs, t5); 48*386561f8SAndrew Jones OFFSET(PT_T6, pt_regs, t6); 49*386561f8SAndrew Jones OFFSET(PT_STATUS, pt_regs, status); 50*386561f8SAndrew Jones OFFSET(PT_BADADDR, pt_regs, badaddr); 51*386561f8SAndrew Jones OFFSET(PT_CAUSE, pt_regs, cause); 52*386561f8SAndrew Jones OFFSET(PT_ORIG_A0, pt_regs, orig_a0); 53*386561f8SAndrew Jones DEFINE(PT_SIZE, sizeof(struct pt_regs)); 54bd744d46SAndrew Jones return 0; 55bd744d46SAndrew Jones } 56