dmd's linking order

Steven Schveighoffer schveiguy at yahoo.com
Wed Apr 11 10:08:35 PDT 2012


On Wed, 11 Apr 2012 13:04:59 -0400, H. S. Teoh <hsteoh at quickfur.ath.cx>  
wrote:

> On Wed, Apr 11, 2012 at 01:37:48AM -0700, Jonathan M Davis wrote:
> [...]
>> Unfortunately, I have no idea why the linking order even matters in
>> the first place, so I can't really say what we need to do here.
>> Hopefully, someone else around here _does_ know. But the issue does
>> seem to need to be brought up.
> [...]
>
> This is because many linkers (including *nix ld, IIRC) resolve symbols
> in the order the libraries were specified on the command-line. I don't
> remember the exact reason for this, but it probably has to do with
> improving the performance of the symbol resolution algorithm. It's a
> legacy from the early days of linker technology.

Not exactly.  For example, Ubuntu 10 was perfectly happy accepting  
libraries in any order.  Only with Ubuntu 11 did this "revert" to the old  
way.

I'm not sure that the reasoning was that it's "simpler", because clearly  
it's possible (and implemented!)

Look for my other post for Ubuntu's explanation why, I don't really  
understand it.

-Steve


More information about the Digitalmars-d mailing list