https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80881
--- Comment #62 from Julian Waters <tanksherman27 at gmail dot com> --- That's gonna be a problem, sigh. The only noteworthy difference I can see between the 2 patches that is related to the secrel32 unspec is one of the GET_CODE == SYMBOL_REF is enclosed in brackets. Unless this significantly changes the true/false evaluation in that branch the reason for this broken assembly eludes me. I'll keep digging in the meantime