Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 13 Apr 2012 23:03:02 -0400
From: Rich Felker <>
Subject: Re: compatability: struct sigaction missing sa_restorer

On Fri, Apr 13, 2012 at 07:20:18PM -0700, Isaac Dunham wrote:
> Kernel headers (asm/signal.h) and glibc headers agree that struct
> sigaction should have sa_restorer; musl provides __sa_restorer
> This is not mandated in X/Open or POSIX, AFAICT.
> However, the specification says "struct sigaction includes at least the
> following members", so here the glibc/kernel approach is conformant, as
> well as being simple and obvious--as opposed to the possible approach:

The "at least" wording does not automatically make the GNU behavior
conformant. The structure can contain extra members, but those members
must be in the reserved namespace. Fortunately for us, per POSIX XSH
2.2.2 The Name Space, sa_* is in the reserved namespace for signal.h,
so it's valid to just call it sa_restorer. As such, I'll fix it.

> This prevents building Xvesa; I definitely won't patch it to use
> __sa_restorer.  Don't know if sa_restorer is commonly used.

With that said, installing your own sa_restorer is not a very good
idea, and almost surely a very bad design... Not sure why Xvesa is
doing this...


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.