New symbol binding to fix C++ ABI
H.J. Lu
hjl.tools@gmail.com
Mon Jun 1 22:00:00 GMT 2009
More information about the Binutils mailing list
Mon Jun 1 22:00:00 GMT 2009
- Previous message (by thread): New symbol binding to fix C++ ABI
- Next message (by thread): New symbol binding to fix C++ ABI
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, Jun 1, 2009 at 1:55 PM, Ulrich Drepper <drepper@redhat.com> wrote: > The C++ ABI demands that certain data objects are unique in the entire > process. This is the case static class members or static variables in > inline functions. Jason can provide the necessary details, if needed. > > I attach a patch which implements a new symbol binding, STB_GNU_UNIQUE. > The compile will use this binding, instead of defining the variable as > a global variable. Jason already has a patch for gcc which is using the > extension of the patch below. > > There is one detail of the patch which is non-obvious. The interface to > get to such an object is not implemented by providing a pseudo-op > similar to .global. Instead, I've defined a new symbol type, to be used > with the .type pseudo-op. The reason for this is that it is wrong to > apply the new symbol binding to anything but data object (no functions > in particular). It makes no sense. So, instead of opening the door for > misuse the compiler will emit > > .type name,%gnu_unique_object > .global > > instead of > > .type name,%object > .global > > At the assembler source level this isn't confusing at all. It's only > the translation to what it means at the ELF level that might be a bit > confusing. But not many people have to actually deal with this so I > don't consider it a problem. > > The patch below applies on top of the RH binutils RPM. It should also > apply with little fuzz to the normal sources. > We need a testcase patch. -- H.J.
- Previous message (by thread): New symbol binding to fix C++ ABI
- Next message (by thread): New symbol binding to fix C++ ABI
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list