[PATCH v2 0/2] Convenience function for allocating (alternate signal) stacks
Florian Weimer
fweimer@redhat.com
Fri May 21 12:37:07 GMT 2021
The new version actually allocates guard regions (with a test) and swaps
the place of the top and bottom regions (top ~ top of stack, so it's on
lower addresses on most architectures).
I committed the approved patches and implemented the generic
sysconf_sigstksz variant, as Andreas suggested.
Tested on i686-linux-gnu and x86_64-linux-gnu.
Florian Weimer (2):
Add generic version of sysconf_sigstksz
misc: Add <sys/cstack.h> and the cstack_* family of functions
NEWS | 4 +
include/sys/cstack.h | 39 ++++
manual/memory.texi | 99 ++++++++++
manual/signal.texi | 3 +
misc/Makefile | 8 +-
misc/Versions | 5 +
misc/cstack_allocate.c | 121 ++++++++++++
misc/cstack_free.c | 35 ++++
misc/cstack_get.c | 27 +++
misc/sys/cstack.h | 53 ++++++
misc/tst-cstack.c | 176 ++++++++++++++++++
sysdeps/generic/sysconf-sigstksz.h | 25 +++
sysdeps/mach/hurd/i386/libc.abilist | 3 +
sysdeps/unix/sysv/linux/aarch64/libc.abilist | 3 +
sysdeps/unix/sysv/linux/alpha/libc.abilist | 3 +
sysdeps/unix/sysv/linux/arc/libc.abilist | 3 +
sysdeps/unix/sysv/linux/arm/be/libc.abilist | 3 +
sysdeps/unix/sysv/linux/arm/le/libc.abilist | 3 +
sysdeps/unix/sysv/linux/csky/libc.abilist | 3 +
sysdeps/unix/sysv/linux/hppa/libc.abilist | 3 +
sysdeps/unix/sysv/linux/i386/libc.abilist | 3 +
sysdeps/unix/sysv/linux/ia64/libc.abilist | 3 +
.../sysv/linux/m68k/coldfire/libc.abilist | 3 +
.../unix/sysv/linux/m68k/m680x0/libc.abilist | 3 +
.../sysv/linux/microblaze/be/libc.abilist | 3 +
.../sysv/linux/microblaze/le/libc.abilist | 3 +
.../sysv/linux/mips/mips32/fpu/libc.abilist | 3 +
.../sysv/linux/mips/mips32/nofpu/libc.abilist | 3 +
.../sysv/linux/mips/mips64/n32/libc.abilist | 3 +
.../sysv/linux/mips/mips64/n64/libc.abilist | 3 +
sysdeps/unix/sysv/linux/nios2/libc.abilist | 3 +
.../linux/powerpc/powerpc32/fpu/libc.abilist | 3 +
.../powerpc/powerpc32/nofpu/libc.abilist | 3 +
.../linux/powerpc/powerpc64/be/libc.abilist | 3 +
.../linux/powerpc/powerpc64/le/libc.abilist | 3 +
.../unix/sysv/linux/riscv/rv32/libc.abilist | 3 +
.../unix/sysv/linux/riscv/rv64/libc.abilist | 3 +
.../unix/sysv/linux/s390/s390-32/libc.abilist | 3 +
.../unix/sysv/linux/s390/s390-64/libc.abilist | 3 +
sysdeps/unix/sysv/linux/sh/be/libc.abilist | 3 +
sysdeps/unix/sysv/linux/sh/le/libc.abilist | 3 +
.../sysv/linux/sparc/sparc32/libc.abilist | 3 +
.../sysv/linux/sparc/sparc64/libc.abilist | 3 +
.../unix/sysv/linux/x86_64/64/libc.abilist | 3 +
.../unix/sysv/linux/x86_64/x32/libc.abilist | 3 +
45 files changed, 691 insertions(+), 3 deletions(-)
create mode 100644 include/sys/cstack.h
create mode 100644 misc/cstack_allocate.c
create mode 100644 misc/cstack_free.c
create mode 100644 misc/cstack_get.c
create mode 100644 misc/sys/cstack.h
create mode 100644 misc/tst-cstack.c
create mode 100644 sysdeps/generic/sysconf-sigstksz.h
--
2.31.1
More information about the Libc-alpha
mailing list