https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95238
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Uroš Bizjak from comment #2) > (In reply to H.J. Lu from comment #1) > > The "i" constraint shouldn't be used for flag_pic since symbolic constant > > leads to writable text in 32-bit mode and invalid in 64-bit mode. > > Just a typo. "i" should be changed back to "e". There are other "ri" in push patterns. The 32 bit linker won't complain but will add DT_TEXTREL for "push $symbol" when generating shared object.