aboutsummaryrefslogtreecommitdiff
path: root/Documentation/x86/elf_auxvec.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/x86/elf_auxvec.rst')
-rw-r--r--Documentation/x86/elf_auxvec.rst53
1 files changed, 0 insertions, 53 deletions
diff --git a/Documentation/x86/elf_auxvec.rst b/Documentation/x86/elf_auxvec.rst
deleted file mode 100644
index 18e4744717f9..000000000000
--- a/Documentation/x86/elf_auxvec.rst
+++ /dev/null
@@ -1,53 +0,0 @@
-.. SPDX-License-Identifier: GPL-2.0
-
-==================================
-x86-specific ELF Auxiliary Vectors
-==================================
-
-This document describes the semantics of the x86 auxiliary vectors.
-
-Introduction
-============
-
-ELF Auxiliary vectors enable the kernel to efficiently provide
-configuration-specific parameters to userspace. In this example, a program
-allocates an alternate stack based on the kernel-provided size::
-
- #include <sys/auxv.h>
- #include <elf.h>
- #include <signal.h>
- #include <stdlib.h>
- #include <assert.h>
- #include <err.h>
-
- #ifndef AT_MINSIGSTKSZ
- #define AT_MINSIGSTKSZ 51
- #endif
-
- ....
- stack_t ss;
-
- ss.ss_sp = malloc(ss.ss_size);
- assert(ss.ss_sp);
-
- ss.ss_size = getauxval(AT_MINSIGSTKSZ) + SIGSTKSZ;
- ss.ss_flags = 0;
-
- if (sigaltstack(&ss, NULL))
- err(1, "sigaltstack");
-
-
-The exposed auxiliary vectors
-=============================
-
-AT_SYSINFO is used for locating the vsyscall entry point. It is not
-exported on 64-bit mode.
-
-AT_SYSINFO_EHDR is the start address of the page containing the vDSO.
-
-AT_MINSIGSTKSZ denotes the minimum stack size required by the kernel to
-deliver a signal to user-space. AT_MINSIGSTKSZ comprehends the space
-consumed by the kernel to accommodate the user context for the current
-hardware configuration. It does not comprehend subsequent user-space stack
-consumption, which must be added by the user. (e.g. Above, user-space adds
-SIGSTKSZ to AT_MINSIGSTKSZ.)