[strace:code] Merge request: Wrap sa_restorer variables with #ifdef SA_RESTORER
Vicente Olivert Riera
Vincent.Riera at imgtec.com
Thu Sep 18 09:59:29 UTC 2014
On 09/17/2014 10:23 PM, Dmitry V. Levin wrote:
> 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
>>> 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.
>>> 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.
Thank you very much!
> Want excitement?
> Manually upgrade your production database.
> When you want reliability, choose Perforce
> Perforce version control. Predictably reliable.
> Strace-devel mailing list
> Strace-devel at lists.sourceforge.net
More information about the Strace-devel