Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3879728.LAGH0JGj17@nanabozho>
Date: Sun, 06 Dec 2020 16:55:39 GMT
From: Ariadne Conill <ariadne@...eferenced.org>
To: Szabolcs Nagy <nsz@...t70.net>, musl@...ts.openwall.com
Cc: musl@...ts.openwall.com, Drew DeVault <sir@...wn.com>
Subject: Re: [PATCH v2] riscv64: correct struct __ucontext name


Hello,

On Sunday, December 6, 2020 5:49:25 AM MST Drew DeVault wrote:
> On Sun Dec 6, 2020 at 3:51 AM EST, Szabolcs Nagy wrote:
> > * Drew DeVault <sir@...wn.com> [2020-12-05 18:10:06 +0000]:
> > > This makes it consistent with other architectures and fixes some issues
> > > with downstream software.
> > 
> > which software?
> > 
> > glibc uses struct ucontext_t too and user code should use ucontext_t
> > without struct.

Some glibc architecture ports use the struct __ucontext and even struct 
ucontext names, or at least did in the past.

> libucontext, which does use ucontext_t.
> 
> In fact, the issue was more related to the type conflict with
> ucontext.h, which declared struct __ucontext in the scope of its
> function declarations due to the naming mismatch.

glibc uses the POSIX 2004 standardized ucontext_t type in its public 
definitions.  I believe musl should do the same.

As far as libucontext goes, this is increasingly moot because 0.13 will 
introduce freestanding mode which avoids the musl definitions entirely, instead 
using simplified (though ABI compatible) definitions, allowing it to not only be 
used on musl but on other libc and other OS entirely (for example, it is known 
to now build on AmigaOS and Darwin).

libucontext using its own definitions is an important step toward eventually 
taking ucontext.h out of musl entirely, and providing it in libucontext 
instead, too, which I think musl should do since the ucontext API was dropped 
from POSIX.

But right now, I think the best way forward is to leave the architecture 
headers alone and just fix the ucontext.h definitions instead.  I can send a 
patch doing that if you want to focus on other things.

Ariadne


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.