From a8dc90eaaa5e6474beac828558d969b1aafee4af Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Wed, 9 Jan 2013 16:17:21 +0100 Subject: 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 Signed-off-by: Florian Fainelli Signed-off-by: Bernhard Reutner-Fischer Signed-off-by: Natanael Copa Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'extra/Configs/Config.in') 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 -- cgit v1.2.3