Hello,
On Sun, Dec 18 2022, Mohamed Atef wrote:
> Hello,
> I am interested in working in this project during my free time, is
> understanding this https://gcc.gnu.org/wiki/LinkTimeOptimization
> A good starting point
That section of the Wiki is very old. You may find bits there that are
still valid and relevant, but I would be actually a bit careful with
that content.
If you're looking for high-level overview of LTO, unfortunately I can
only recommend videos:
- Honza's "Building openSUSE with GCC's link time optimization"
https://events.opensuse.org/conferences/oSC18/program/proposals/1846#2
- my "Interprodecural optimizations in GCC"
https://www.youtube.com/watch?v=oQ71ZbOuSW4
(the first 12 minutes or so, the rest is then about optimizations)
For the task specifically, the patch from 2014
https://gcc.gnu.org/legacy-ml/gcc/2014-09/msg00340.html is still a good
starting point, even if not a very clear one. The crux of the matter is
to enhance libiberty/simple-object*.[ch] to be able to create elf from
scratch (as opposed to modifying an existing one). So look there too.
If you have any questions, feel free to ask.
Good luck,
Martin