This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
RISCV NFPREG?
- From: "Maciej W. Rozycki" <macro at wdc dot com>
- To: Palmer Dabbelt <palmer at sifive dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Wed, 9 Oct 2019 06:41:48 +0100 (BST)
- Subject: RISCV NFPREG?
- Ironport-sdr: qFqD3hPWJ8r86n1xyMOTGJdGsclLPYbK4woeF9nNI47DLnwwUz+IpdKCv0ptj1FuznWx5eB3Ao hhxaGX7DXF0LdPYoO2IOhVpWL65kGQu0qnCjJp4CUuNiCOM7giWkfOW5HI6BTasd9LWRN+ZMaE wsVSrRVPOIP7hRu+9MnOp7muXFQ9BHb72pMNvg7HTXIrmaF62BF8iQpH0BUtSqX1uIklI8luFE 4hHT/7boCe+Q/qUQuYs9L9OyiSctw4iuvg/zz1diW2igpMh+Uci0HxO851jTf1B971hAYfQcRN I2E=
- Ironport-sdr: 2xUWJKqbqKHOXzhxRsEZJxzERip86pSekYcZRND7DX6UMEdAeYCFCZni5lg9WjacXTI/XoBDK6 HNvqRg81/aseQ7jkaOx+E2RlDzFFbMYHlVUaCMpNiRvJwPqpWFHLTknwZrhft77ex38fLhBUaN 3ecc14722BULEYlnyqFXqMy5T8lbXuoXqMBlfyQzzYNT9jR0xJ0TpyfZ7Ydq6IYLa65aJOPGw7 u/7x8N32Nlcvxx1YTxIfR4J7qE68cTY28y7w3l/RsN1WZs6KrqWJrn1NywM7s7GkZuSczOg/0J jmcFoRUA+Qs4gRXCjxaCkV0/
- Ironport-sdr: P+k5thrKYT7HhCIuGxm6iRZpxZbIJq+yiAfppM0bpIGOzmTosdBGhACOUkbcg1LX0q1LpKHrwm 36OMRAmqsmy/t+7l2ED+Xa2UAodk+mnmh/23s/AF7yvgvJE32qj+Q3CnJZZOWar+OLVjArNgSX c8xahLlypP74JV/TD96keA2g0V1AEge2qvPZCQZPN69OATG2TDkbnH9ZjAlP3n8Nqa60jrv9LF YyNgP3pmnV/fAe2A2+BjprhNW5uFfKKccD25hPNcaQjIzJePLQPP06gle1WXxXvHbz8jM6Abqx q/s=
- Wdcironportexception: Internal
Palmer,
We have this:
#define ELF_NFPREG NFPREG
in sysdeps/unix/sysv/linux/riscv/bits/procfs.h, however NFPREG is nowhere
defined. This has come from your initial commit 7f33b09c65e3 ("RISC-V:
Linux ABI"). Do you happen to remember what the intent was here if any?
We also have:
#define ELF_NGREG NGREG
(in the same place) and then:
# define NGREG 32
in sysdeps/unix/sysv/linux/riscv/sys/ucontext.h, however under __USE_MISC
only.
We don't use any of these macros and the way they have been defined means
they're mostly useless to user programs. All the other architectures
define them unconditionally and then do use them one way or another in
public headers.
Unfortunately I'll have to work it around now in GDB for backwards
compatibility, but has there been any plan here that was interrupted and
never completed?
If not, I'll make some patches to fix it up, by defining __NGREG and
__NFPREG unconditionally as some targets do and use these to fix up the
mess.
Maciej