[strace:code] Merge request: Wrap sa_restorer variables with #ifdef SA_RESTORER

Dmitry V. Levin ldv at altlinux.org
Wed Sep 17 21:23:57 UTC 2014


On Fri, Sep 12, 2014 at 09:47:41AM +0100, Vicente Olivert Riera wrote:
> On 09/11/2014 08:37 PM, Dmitry V. Levin wrote:
> > On Thu, Sep 11, 2014 at 07:13:19PM +0000, Vicente Olivert Riera wrote:
> >> Merge request: Wrap sa_restorer variables with #ifdef SA_RESTORER
> >>
> >> ---
> >>
> >> Vicente Olivert Riera has requested that you merge changes from git://git.code.sf.net/u/vriera/strace (dece41de0a005a322a1b8b78226abb8c1ed3a4dc) into the branch master
> >>
> >> Since we define a SA_RESTORER symbol if our toolchain has sa_restorer support, then we can use it to wrap the declaration and access to the sa_restorer variables. This will fix compilation failures like this one:
> >
> > If you can state that you have SA_RESTORER macro defined if and only if
> > your sigaction structures in kernel have sa_restorer member, then you are
> > lucky, because some architectures like ia64 and hppa seem to have no
> > sa_restorer in their kernel structures but still define SA_RESTORER.  We
> > workaround this inconsistency with explicit #undef SA_RESTORER on these
> > architectures.
> >
> > Minor corrections:
> > - sa_restorer is a structure member, not a variable;
> > - SA_RESTORER is a macro, not a symbol;
> > - "definition and use" rather than "declaration and access".
> 
> No problem, make all the corrections you consider.
> 
> >> http://autobuild.buildroot.org/results/04d/04de887fd501e1a1b9f811dacdf17596256097e6/build-end.log
> >
> > Is this URL is going to remain valid forever?
> 
> Yes, it should remain valid forever.
> 
> > Anyway, let's quote the
> > relevant part of this build log instead:
> >
> > signal.c: In function 'decode_old_sigaction':
> > signal.c:631:21: error: 'struct old_sigaction' has no member named 'sa_restorer'
> > signal.c: In function 'decode_new_sigaction':
> > signal.c:1224:21: error: 'struct new_sigaction' has no member named 'sa_restorer'
> 
> Perfect. Could you please let me know when you commit this fix upstream?

I've merged and pushed this commit.  I wouldn't be very surprised if it
introduced a regression on some architecture, but we have sigaction.test
to detect it.


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20140918/b604cd70/attachment.bin>


More information about the Strace-devel mailing list