Automated GCC bisect for Linux kernels
Some downstream kernels don't boot anymore after being compiled with newer kernel versions.
@mberndt wrote in !132 (comment 131543422):
I have a crazy idea: we could do a kind of binary search by compiling one half of the kernel source files with gcc 6 and the other half with gcc 4.9.4 and then linking it all together – I think the object files are supposed to be compatible. If that results in a working kernel, we know the error must be in the part of the code compiled with gcc 4.9.4, otherwise we know it must be in the other half.
As @mirh found out, this technique was already used successfully.
So... while that would only help downstream kernels, which we want to migrate away from to mainline wherever possible, it would be a fun hack nevertheless. Maybe somebody is interested in looking into automating this.
Bonus points for pmbootstrap integration (pmbootstrap gcc-bisect fairphone-fp2 gcc6 gcc8
?), and even more for automatically enabling Qemu kernel config options, confirming that the kernel boots in Qemu when compiled with the known working GCC, and then doing the bisect in a fully automated fashion without even flashing to the device.