Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20120414221652.GM7281@brightrain.aerifal.cx>
Date: Sat, 14 Apr 2012 18:16:52 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: compatability: struct sigaction missing sa_restorer

On Sat, Apr 14, 2012 at 01:18:42PM -0700, Isaac Dunham wrote:
> On Fri, 13 Apr 2012 23:03:02 -0400
> Rich Felker <dalias@...ifal.cx> wrote:
> ...
> > 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...
> 
> Just initializing certain parts to 0, apparently:
> 
> act.sa_handler = LinuxVTRequest;
> sigemptyset (&act.sa_mask);
> act.sa_flags = 0;
> act.sa_restorer = 0; /* PROBLEM */
> sigaction(SIGUSR1, &act, 0);
> 
> ...
> Looks like a later version of Xvesa just deleted this line, so I'll do that.

This is definitely wrong and unnecessary. If it were necessary, it
would be impossible to write portable programs using sigaction. The
reason it's unnecessary is that even libcs that use sa_restorer
require the SA_RESTORER flag to be set in order to use it; otherwise
it's ignored.

> Xvesa was axed a couple years ago, but Xfbdev requires working
> framebuffer drivers (not a given, when an i810 system is one of the
> planned targets) and Xorg may not work without dynamic linking
> (every driver is a library), so I've been using the amigolinux
> version of TinyX (version "1.2.61", based on an *old* Xorg). This is
> the only maintained Xvesa, and is a fairly small, single download.
> 
> It's only been tested against uclibc, but the developers are ready
> to patch it.

IMO they should patch it out. It's dead code and leads to portability
problems. You can cite my explanation above if you need to.

Rich

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.