https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80881
--- Comment #66 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > 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 Well, your version is substantially different than mine, so no wonder that they behave differently... We should probably use mine at this point.