This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: x86 siginfo_t was broken by commit 8eb6281eaadd5a71f04d5ec4c11da2339b382b10


On Mon, Jul 22, 2013 at 12:17:22AM +0000, Joseph S. Myers wrote:
> On Sun, 21 Jul 2013, Rich Felker wrote:
> 
> > 1. The C++ ABI: the underlying type of siginfo_t changed from "struct
> > siginfo" to a struct with no tag (whose original typedef name then
> > becomes the tag for C++ name mangling purposes).
> 
> No, that was an earlier commit (4efeffc1d583597e4f52985b9747269e47b754e2).  
> And it was impossible to avoid that C++ breakage because the name 
> "siginfo" is not in the POSIX namespace; the renaming was to fix a POSIX 
> namespace bug.

On musl, we'd dealt with this by using "struct __siginfo" and
conditionally did "#define __siginfo siginfo" for _GNU_SOURCE. However
we're in the process of trying to fix the few C++ ABI mismatches with
glibc so that libstdc++ and other C++ libs (possibly binaryware) that
were built against glibc can be used with musl, and I needed to know
the story behind this change to make sure it was correct. So I'll just
remove the tag entirely.

> > 2. GCC's i386 linux config (wrongly) uses "struct siginfo" all over
> > the place where it should be using siginfo_t. I'm not clear on whether
> > this code is being used anymore, but I know in musl we had to expose
> > the "struct siginfo" name at one point to get GCC to build correctly.
> 
> That was fixed by:
> 
> (libgcc/ChangeLog)
> 2012-04-20  Thomas Schwinge  <thomas@codesourcery.com>
> 
>         struct siginfo vs. siginfo_t

Took them long enough... :) I'd been waiting for this to get fixed for
years.

Rich


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]