This is the mail archive of the binutils@sources.redhat.com 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]

[ ld ] Going to contribute


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/



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