[ ld ] Going to contribute

Yuri Rassokhin yrassokhin@hotmail.com
Thu Jul 21 05:00:00 GMT 2005


Hi all,


I have a plan for realizing at least 2 link-time optimizations in GNU 
toolchain, that is, 2 ld optimizations:
- Function inling,
- Non-called function removing (iff the final executable is being linked, or 
the entry point is given explicitly).

Of course, such an optimization can be reached using 
disassembling/decompiling;
secondly, specific proprietary linker can be involed (for eg., there is a 
toolchain of the kind for msp430 family);
also, non-standard object file format can be used (for eg., LLVM toolchain, 
or even Ada-like modules - these are examples of object files containing 
compile-time information); finally, there are so-called executable editors.

But all tools mentioned above do not provide with all features from the 
following at once:

1. GNU toolchain is free and open source. In particular, being provided with 
optimizing ld, it can be used in embedded software development more widely.
2. Being once implemented in GNU ld, link-time optimization can be used for 
a number of target platforms.
3. Modified GNU toolchain uses standard object file formats, unlike LLVM, 
for eg.
4. As soon as there is no compile-time information in standard object file 
formats, separate compilation allows to distribute proprietary software in 
object format. Such an approach has 2 advantages: source code is unknown; 
increasing of final executable code is not very big relatively to 
whole-program compilation, if ld can optimize.

As far as I can see, GNU toolchain with modified ld provides with all 
features mentioned above.


My questions are:

1. Is such a contribute worthy - what is your opinion?
2. Does anybody already working in this direction?

Thank you.


Best Regards,
     Yuri Rassokhin.

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! 
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



More information about the Binutils mailing list