Auto-enabling V unit and/or use of elf attributes (was Re: Adding V-ext regs to signal context w/o expanding kernel struct sigcontext to avoid glibc ABI break)
Richard Henderson
richard.henderson at linaro.org
Tue Jan 10 17:22:37 PST 2023
On 1/10/23 10:07, Vineet Gupta wrote:
> Yes bulk of glibc might not have vector code, but those V ifunc routines do and IMO this
> information needs to be recorded somewhere in the elf. Case in point being the current
> issue with how to enable V unit. Community wants a per-process enable, using an explicit
> prctl from userspace (since RV doesn't have fault-on-first use hardware mechanism unlike
> some of the other arches). But how does the glibc loader know to invoke prctl. We can't
> just rely on user env GLIBC_TUNABLE etc since that might not be accurate. It needs
> somethign concrete which IMO can come from elf attributes. If not, do you have suggestions
> on how to solve this issue ?
Why not just fault on first use to enable? That's vastly less complicated than trying to
plumb anything through elf resulting in a prctl.
You might say "but the fault could fail to allocate memory", but honestly, the prctl isn't
able to fail either -- if it doesn't work, the process must exit. And, surely, there's
some minimal vector configuration for which the allocation must succeed.
r~
More information about the linux-riscv
mailing list