Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 4 Feb 2016 15:54:09 +0100
From: Szabolcs Nagy <>
Subject: Re: setcontext/getcontext/makecontext missing?

* Short, Todd <> [2016-02-04 14:09:30 +0000]:
> It appears that setcontext/getcontext/makecontext are declared in ./include/ucontext.h, but there???s no definitions for them in musl. These three functions are part of libc/

these are deprecated posix apis.

> Since the functions are declared, is there any intent to put them into musl?

they have unclear semantics and only possible to
implement in asm (hence it is a significant effort
to add them).

> I ran into this when attempting to compile OpenSSL with musl. In the OpenSSL master branch, I???m able to do:
> CC=musl-gcc ./config
> make depend
> make
> However, ld fails because there is an undefined reference to setcontext, getcontext and makecontext. This is new async functionality in OpenSSL that uses these APIS.

imho that's an openssl bug.

if they really need the *context apis, then use adequate
(link-time) configure check for them.

but looking at;a=commit;h=a3667c316ae60ef454fb804221c3ca44af30a9aa
this async lib is probably misguided, but they can
implement the api with pthreads in a portable way.

> This is as of musl:master:47314f1 and openssl:master:4c35c93
> Thanks,
> --
> -Todd Short
> //<>
> // "One if by land, two if by sea, three if by the Internet."

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.