[PATCH] D25766: [ELF] - Implemented --section-ordering-file option.
George Rimar via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 20 08:48:26 PDT 2016
grimar added a comment.
In https://reviews.llvm.org/D25766#574420, @davide wrote:
> In https://reviews.llvm.org/D25766#574368, @ruiu wrote:
>
> > Is this effort coordinated with Davide?
>
>
> Yes! Thanks George for taking care of this.
> BTW, I think the hard part of this feature is trying to evaluate and understand if it's worth it.
> You may want to do some benchmarking/write a systap/dtrace script to collect data and feed into the linker and make sure this has some real impact. I recommend to use bare metal for testing and not VM as the results might be unreliable.
> Rui, Rafael, what do you think?
After today investigations I found next more or less known ways to produce such file.
- First is use of valgring + icegrind plugin:
https://blog.mozilla.org/tglek/2010/04/07/icegrind-valgrind-plugin-for-optimizing-cold-startup/
https://glandium.org/blog/?p=1008
Method looks a bit outdated though.
- Use of function_reordering_plugin from gcc google branch (https://codereview.appspot.com/5124041, https://codereview.appspot.com/4802070/).
As far I understand along with job it do, it also should produce final_layout.txt file where sections should be dumped in a correct order,
and we should be able to reuse that file for LLD needs.
- facebook/hhvm (https://github.com/facebook/hhvm/tree/master/hphp/tools/hfsort) has tools and scrips for generating sections ordering file for gold, though
I am not sure how much easy can be to reuse it for any other applications.
I am going to check gcc way tomorrow, it seems to me as most easy possible path.
https://reviews.llvm.org/D25766
More information about the llvm-commits
mailing list