[PATCH 11/12] RISC-V: Linux ABI
Palmer Dabbelt
palmer@dabbelt.com
Tue Jun 20 21:29:00 GMT 2017
On Wed, 14 Jun 2017 13:39:50 PDT (-0700), fweimer@redhat.com wrote:
> Palmer Dabbelt <palmer@dabbelt.com> writes:
>
>> Linux-specific code that is required for maintaining ABI compatibility.
>> This doesn't contain the actual system call interface, that is split out
>> in order to avoid having a patch that's too big.
>
> You likely need to override bits/sigstack.h in one of these patches
> because the generic MINSIGSTKSZ and SIGSTKSZ values are likely too
> small, especially if you want to add more or broader vector registers in
> the future.
>
> PTHREAD_STACK_MIN might warrant adjustment, too.
We're going to pick the most common values, which I believe are
MINSIGSTKSZ = 4KiB (alpha, powerpc, sparc, with aarch64 setting 5KiB)
SIGSTKSZ = 16KiB (aarch64, alpha, powerpc, sparc)
PTHERAD_STACK_MIN = 128KiB (aarch64, mips, ppc, tile)
We're writing a vector extension, but it'll configurable vector sizes so
reserving the worst case space now will be pretty big. Andrew and I think the
best thing to do here is similar to what aarch64 is doing with their SVE stuff
and have a system call to determine the minimum signal stack size dynamically
instead of reserving the space statically.
Does that seem reasonable?
More information about the Libc-alpha
mailing list