History log of /dflybsd-src/lib/libc/x86_64/gen/quickcontext.c (Results 1 – 4 of 4)
Revision Date Author Comments
# 588042b5 12-Jun-2019 Sascha Wildner <saw@online.de>

<sys/signal.h>: Adjust the type of stack_t's ss_sp from char * to void *.


# a32e3ba6 08-Apr-2019 Sascha Wildner <saw@online.de>

libc: Add prototypes for various functions we use in __weak_reference().


# f8406b33 06-Oct-2016 zrj <rimvydas.jasinskas@gmail.com>

<sys/cdefs.h>: Rework __weak_reference() macro.

My LTO build blew away weak symbols from slim LTO objects.
Use __strong_reference() + weak attribute to allow the compiler to catch
extern declaration

<sys/cdefs.h>: Rework __weak_reference() macro.

My LTO build blew away weak symbols from slim LTO objects.
Use __strong_reference() + weak attribute to allow the compiler to catch
extern declarations and not to fold weak symbols as local ones.

Keep previous version as __weak_reference_asm() in _pthread_stubs.c for
now due to several issues (there is a need to do it in a cleaner way).

lib/libc/gen/ucontext.c:
add missing __DECONST for ucp, shouldn't sigreturn take const ucontext_t?

lib/libc/inet/inet_ntoa.c:
add missing #undef inet_ntoa_r

No symbol changes in libc and librt on normal compilation.

While there, add __weak_symbol attribute for future additions.

show more ...


# 819d0c16 21-Dec-2015 Matthew Dillon <dillon@apollo.backplane.com>

libc - Add quick version for the context management functions.

* Add makecontext_quick(), setcontext_quick(), and swapcontext_quick().
These functions work similarly to the non-quick versions but

libc - Add quick version for the context management functions.

* Add makecontext_quick(), setcontext_quick(), and swapcontext_quick().
These functions work similarly to the non-quick versions but are designed
for fast synchronous switching. These functions do not mess with the
signal mask or stack at all and do not save or restore scratch registers.

* These functions make no system calls. Switching time can be as low as
~5 nanoseconds.

* These functions also provide optimizations for coroutine fall-through
linkages.

* Note that the coroutine / start-function callback arguments are somewhat
different. Start functions are called back as cofunc(ucp, arg). Var-args
are not supported and the stack is minimally aligned and initialized.

* Remove the old internal set_mcontext() and get_mcontext() routines.

show more ...