diff options
author | Florian Fainelli <florian@openwrt.org> | 2013-01-09 16:17:21 +0100 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2013-01-10 10:56:19 +0100 |
commit | a8dc90eaaa5e6474beac828558d969b1aafee4af (patch) | |
tree | ed22c27193dcc91697f6b8782da9a9abd08d42b1 /extra | |
parent | df3a5fcc8d1c3402289375c92df705e978fab58d (diff) |
libc: add {get,set,swap,make}context user context manipulation functions
Add the obsolescent SUSv3 family of user context manipulating functions
for arm, i386, mips, x86_64.
Signed-off-by: Timon ter Braak <timonterbraak@gmail.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'extra')
-rw-r--r-- | extra/Configs/Config.arm | 1 | ||||
-rw-r--r-- | extra/Configs/Config.i386 | 1 | ||||
-rw-r--r-- | extra/Configs/Config.in | 16 | ||||
-rw-r--r-- | extra/Configs/Config.mips | 1 | ||||
-rw-r--r-- | extra/Configs/Config.x86_64 | 1 |
5 files changed, 20 insertions, 0 deletions
diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm index 0bb2971a9..dc536434d 100644 --- a/extra/Configs/Config.arm +++ b/extra/Configs/Config.arm @@ -11,6 +11,7 @@ config FORCE_OPTIONS_FOR_ARCH bool default y select ARCH_ANY_ENDIAN + select ARCH_HAS_UCONTEXT config CONFIG_ARM_EABI bool "Build for EABI" diff --git a/extra/Configs/Config.i386 b/extra/Configs/Config.i386 index 288aa5ebe..92cee3b83 100644 --- a/extra/Configs/Config.i386 +++ b/extra/Configs/Config.i386 @@ -12,6 +12,7 @@ config FORCE_OPTIONS_FOR_ARCH default y select ARCH_LITTLE_ENDIAN select ARCH_HAS_MMU + select ARCH_HAS_UCONTEXT choice prompt "Target x86 Processor Family" diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 4bb681207..62bcd9b6c 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -261,6 +261,9 @@ config ARCH_HAS_NO_LDSO bool select ARCH_HAS_NO_SHARED +config ARCH_HAS_UCONTEXT + bool + config HAVE_SHARED bool "Enable shared libraries" depends on !ARCH_HAS_NO_SHARED @@ -678,6 +681,19 @@ config UCLIBC_SUSV3_LEGACY WARNING! ABI incompatibility. +config UCLIBC_HAS_CONTEXT_FUNCS + bool "Use obsolescent context control functions" + depends on UCLIBC_SUSV3_LEGACY && ARCH_HAS_UCONTEXT + help + Add into library the SuSv3 obsolescent functions used for context + control. The setcontext family allows the implementation in C of + advanced control flow patterns such as iterators, fibers, and + coroutines. They may be viewed as an advanced version of + setjmp/longjmp; whereas the latter allows only a single non-local jump + up the stack, setcontext allows the creation of multiple cooperative + threads of control, each with its own stack. + These functions are: setcontext, getcontext, makecontext, swapcontext. + config UCLIBC_SUSV3_LEGACY_MACROS bool "Enable SuSv3 LEGACY macros" help diff --git a/extra/Configs/Config.mips b/extra/Configs/Config.mips index 063b07cea..48e0b6489 100644 --- a/extra/Configs/Config.mips +++ b/extra/Configs/Config.mips @@ -11,6 +11,7 @@ config FORCE_OPTIONS_FOR_ARCH bool default y select ARCH_ANY_ENDIAN + select ARCH_HAS_UCONTEXT choice prompt "Target ABI" diff --git a/extra/Configs/Config.x86_64 b/extra/Configs/Config.x86_64 index 1b2808893..4c8c3a9bd 100644 --- a/extra/Configs/Config.x86_64 +++ b/extra/Configs/Config.x86_64 @@ -12,3 +12,4 @@ config FORCE_OPTIONS_FOR_ARCH default y select ARCH_LITTLE_ENDIAN select ARCH_HAS_MMU + select ARCH_HAS_UCONTEXT |