On October 20, 2023 1:36:36 PM PDT, andy.shevchenko@xxxxxxxxx wrote: >That said, if you or anyone has ideas how to debug futher, I'm all ears! I don't think this has been tried yet: When I've had these kind of hard-to-find glitches I've used manual built-binary bisection. Assuming you have a source tree that works when built with Clang and not with GCC: - build the tree with Clang with, say, O=build-clang - build the tree with GCC, O=build-gcc - make a new tree for testing: cp -a build-clang build-test - pick a suspect .o file (or files) to copy from build-gcc into build-test - perform a relink: "make O=build-test" should DTRT since the copied-in .o files should be newer than the .a and other targets - test for failure, repeat Once you've isolated it to (hopefully) a single .o file, then comes the byte-by-byte analysis or something similar... I hope that helps! These kinds of bugs are super frustrating. -Kees -- Kees Cook