bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/3831] New: Support for automatically including symbols in the li


From: shausman at trolltech dot com
Subject: [Bug ld/3831] New: Support for automatically including symbols in the list of dynamic symbols that are referenced as global data
Date: 4 Jan 2007 18:41:20 -0000

This enhancement request is a follow-up on bug #3713 .

The --dynamic-list feature (--dynamic-list-cpp-typeinfo) is currently not very 
useful for C++ libraries that export global data referenced from within the 
library and applications linking against it. Qt and KDE libraries for example 
do this with singletons:

class MySingleton
{
public:
    ...
    static MySingleton *instance() { return self; }

private:
    static MySingleton *self;
};

When an application links against a library that provides the MySingleton::self 
symbol and the application references the symbol in question then copy 
relocations are produced in the application. This makes it necessary that any 
references to the symbol from within the library itself are redirected to the 
copy in the application, they must not be bound locally.

When linking the library with --dynamic-list it is therefore necessary to 
include the MySingleton::self symbol in the dynamic list. For big C++ libraries 
it is very cumbersome to create the list of such symbols manually.

It would be very useful if ld could somehow generate this list automatically.

Perhaps it would be enough to automatically include all the referenced symbols 
in the dynamic list that otherwise would cause GLOB_DAT relocations, for 
example through the use of a special keyword in the list.

But my knowledge of the relocation/linking process is not good enough to be 
sure if this is good enough as criterion :-/

-- 
           Summary: Support for automatically including symbols in the list
                    of dynamic symbols that are referenced as global data
           Product: binutils
           Version: 2.17
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: ld
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: shausman at trolltech dot com
                CC: bug-binutils at gnu dot org,glazzara at gmail dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=3831

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]