Re: Discussion about why GNU/Linux system upgrades cause old programs to break

Richard Stallman <[email protected]> Tue, 11 Aug 2026 23:49:08 -0400
Newsgroups gmane.emacs.devel
Message-ID <[email protected]>
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > Incidentally, I went to compile Emacs 27.2 on modern glibc and found
  > that there was, in fact, a real breakage: SIGSTKSZ on GNU/Linux is not a
  > constant expression anymore (seemingly because some CPUs have started
  > requiring varying sizes of stacks to save register pages), if
  > _DYNAMIC_STACK_SIZE_SOURCE, which is enabled with _GNU_SOURCE.

This seems to call for deeper thinking.

1. What is a "register page", and how does this save some of them?

2. "SIGSTKSZ on GNU/Linux is not a constant expression any more": does
that mean (1) SIGSTKSZ _may_ not be a constant, if the architecture in
use requires varying sizes of stacks, or (2) SIGSTKSZ is _never_ a
constant, on any architecture, whether it actually can vary or not?

3. What is the latest GCC definition of SIGSTKSZ on the x86_64 architecture?

4. Could changes in defaults for macros such as
_DYNAMIC_STACK_SIZE_SOURCE and _GNU_SOURCE fix this problem?
Or the definition of a new macro of that kind?


-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)