From ec325b3828772b5b75ea90f8544f5548c80ff087 Mon Sep 17 00:00:00 2001 From: Hongliang Wang Date: Mon, 26 Feb 2024 16:04:26 +0800 Subject: add loongarch64 user.h structs; adjust elf_fpreg_t and ELF_NFPREG user_regs_struct and user_fp_struct were missing from the initial commit of the port. the union type for elf_fpreg_t and the new value of ELF_NFPREG are made consistent with glibc. --- arch/loongarch64/bits/user.h | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/arch/loongarch64/bits/user.h b/arch/loongarch64/bits/user.h index 5a71d132..fd9b7b22 100644 --- a/arch/loongarch64/bits/user.h +++ b/arch/loongarch64/bits/user.h @@ -1,5 +1,24 @@ #define ELF_NGREG 45 -#define ELF_NFPREG 33 +#define ELF_NFPREG 34 + +struct user_regs_struct { + unsigned long regs[32]; + unsigned long orig_a0; + unsigned long csr_era; + unsigned long csr_badv; + unsigned long reserved[10]; +}; + +struct user_fp_struct { + unsigned long fpr[32]; + unsigned long fcc; + unsigned int fcsr; +}; typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; -typedef double elf_fpreg_t, elf_fpregset_t[ELF_NFPREG]; + +typedef union { + double d; + float f; +} elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -- cgit v1.2.1