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