This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 11/12] RISC-V: Linux ABI
- From: Palmer Dabbelt <palmer at dabbelt dot com>
- To: fweimer at redhat dot com
- Cc: libc-alpha at sourceware dot org
- Cc: Andrew Waterman <andrew at sifive dot com>
- Cc: patches at groups dot riscv dot org
- Cc: Darius Rad <darius at bluespec dot com>
- Date: Tue, 20 Jun 2017 14:29:46 -0700 (PDT)
- Subject: Re: [PATCH 11/12] RISC-V: Linux ABI
- Authentication-results: sourceware.org; auth=none
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?