This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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: Link order a pain, positional argument --start-group problematic


Hi R Diez,

I personally find disturbing that a duplicate symbol may or may not be
detected depending on the link order, which can be pretty hard to
control in complex or even automatically-generated makefiles.

Unfortunately this behaviour is now firmly established in modern linkers, and it is unlikely to change.

As a work-around, I suggest adding alternative command-line arguments
that are not position dependent. I guess in most situations a global
flag like --whole-archive-all would provide a simpler, more intuitive
and more reliable experience.

Well this is certainly possible, although you probably want to call the option something like --group-all. --whole-archive-all implies that all of the contents of every library listed on the command line should be included in the executable, even if some of those library functions are not used. That would lead to a lot of file bloat.

So the next problem is persuading someone to implement this feature. You can have a go yourself - we would be more than happy to provide you with advice and hints if you this way. Alternatively you could pay someone to implement it. There are several companies out there that do this kind of work. Or you could try badgering the mailing lists until someone gives in and has a go.

There are also other linkers that you could try, or whose communities you could ask. The LLVM project has a linker for example, and they might be interested in implementing this feature.

Cheers
  Nick


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