gabe
October 10, 2023, 11:28pm
1
GCC’s auto-profile mentions this, and many news articles mention Clear Linux itself uses this, but the actual autoFDO package fails miserably to compile on Clear Linux, and I don’t see an obvious bundle for it.
I ranted about it on Google’s github page for this tangled web of spaghetti code:
opened 11:24PM - 10 Oct 23 UTC
This code is *messy*. Very, unbelievably messy.
I don't understand why GCC r… eferences it in its documentation, when GCC itself compiles brilliantly across dozens of very different environments I've tried it on, and this doesn't compile anywhere for me...
GCC mentions the need to use one little utility function:
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fauto-profile
("Then use the create_gcov tool to convert the raw profile data to a format that can be used by GCC.")
I don't know why they ever merged support of this less-than-research grade codebase, and why it persists into GCC13.
Why did you merge this into GCC in a partial frankenstenian way? Why not merge the ability to support the perf output directly? Nobody I've ever talked to whose heard of AutoFDO has gotten this hot mess to compile.
GCC 13.1. No LLVM. I am not using the LLVM compiler, and am only interested in using auto-profile with GCC. I just need that one utility, "create_gcov", and nothing else in this 1.7GB code morass that gets pulled in from git clone. (Why so huge and messy?).
[garbage.log](https://github.com/google/autofdo/files/12862747/garbage.log)
Here's the log showing the extent of the failure. It's not pretty.
Yet somehow in their wisdom GCC has integrated a feature dependent on it in thier code and documentation: Optimize Options (Using the GNU Compiler Collection (GCC))
How would I get ahold of the create_gcov
tool?
Thanks all
1 Like
gabe
October 11, 2023, 6:26pm
2
It was an autoFDO problem. A bunch of github trickery and rollbacks allowed it to compile – see the linked github post above for the walkthrough