This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Fix mcontext_t sigcontext namespace (bug 21457)
On 06/27/2017 05:56 PM, Joseph Myers wrote:
> On Tue, 27 Jun 2017, Florian Weimer wrote:
>
>> On 06/27/2017 05:27 PM, Szabolcs Nagy wrote:
>>
>>>> For some previous patches in this series, changing stack_t and ucontext_t,
>>>> Florian checked there were no affected mangled names in Fedora, as
>>>> evidence for such problems being rare. Such a check might be worthwhile
>>>> here (remembering that what is being looked for is architecture-specific,
>>>> but on x86_64 / x86 the mangled name is already mcontext_t and would not
>>>> change because there aren't namespace issues there).
>>>>
>>>
>>> Florian, if you can check, then please do.
>>
>> What's the old mangled name I would have to look for? sigcontext?
>
> On x86_64 and x86, it's mcontext_t (and won't change). On AArch64, it's
> sigcontext.
Only one package is affected, the Dolphin emulator (we have version 5.0
in Fedora). It uses SContext as typedef for mcontext_t. All symbols
are definitions, and there are no references. I assume they are all
accidental exports, so this program would not be affected by the
mangling change.
Singular (a “Computer Algebra System for polynomial computations”) uses
a sigcontext type as well, but again only in a definition. But this
happens on i386 (where it even brings its own definition) and x86-64,
and mcontext_t is not used, so it's not related.
I don't know if the harmless mangling change within Dolphin should be
considered a blocker. Probably not. But in general, I agree with the
sentiment that POSIX conformance is usually not sufficient grounds for
ABI breakage (or deviation from kernel-defined data structure layouts).
Thanks,
Florian