https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121432
Sam James <sjames at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sjames at gcc dot gnu.org --- Comment #9 from Sam James <sjames at gcc dot gnu.org> --- (In reply to Thomas Petazzoni from comment #8) > Thanks for the amazingly quick feedback! > > (In reply to Sam James from comment #3) > > * Compressed binaries of the kernel before and after the commit > > This is definitely doable. > > > * Take the build tree of the kernel with gcc-good, and gcc-bad (where it's > > one commit before and then the bad commit) and copy objects from the gcc-bad > > tree into the gcc-commit tree, re-running make repeatedly, until you find > > which the bad object is (if no LTO is involved, it has to be one object) > > But there are 915 object files in this kernel. This is going to take ages. > Do you have some suggestions? Use cmp (or diff) to get a list of differing objects, then you can bisect that list: copy the top half from bad -> good, does it work? if it works still, throw away that top half, and copy in the bottom half as a sanity check (should fail now). repeatedly halve & copy the list. It doesn't take long then as you're binary searching