SIGSTKSZ is now a run-time variable

Paul Eggert eggert@cs.ucla.edu
Tue Mar 9 19:33:38 GMT 2021


On 3/9/21 8:14 AM, shwaresyst via Libc-alpha wrote:
> The question becomes whether glibc is in violation of POSIX for having
> made the change,

I don't see how that would be. Apps must define _SC_SIGSTKSZ_SOURCE or 
_GNU_SOURCE to get the new API, which means the apps do not want strict 
POSIX conformance anyway.

> or whether POSIX needs to be amended to allow SIGSTKSZ
> to be non-preprocessor-safe and/or non-constant.

That would be a good idea, yes.

> I've now seen reports of several
> projects failing to build when using glibc with this change included.

Yes. I just now checked, and Emacs appears to have this problem so I 
installed a patch[1] to Emacs, which should fix it. I'm not surprised 
that other packages have similar issues, and would need similar patches. 
Gnulib was fixed to avoid this problem in October - before that, Gnulib 
didn't even conform to POSIX, because it used SIGSTKSZ in #if. The 
Gnulib patch[2] illustrates other portability messes in this area.

[1] 
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=f97e07ea807cc6d38774a3888a15091b20645ac6
[2] 
https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=f9e2b20a12a230efa30f1d479563ae07d276a94b


More information about the Libc-alpha mailing list