https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84553

James Clarke <jrtc27 at jrtc27 dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jrtc27 at jrtc27 dot com

--- Comment #1 from James Clarke <jrtc27 at jrtc27 dot com> ---
This is a GCC bug. The function "d" here is non-static and thus exported as a
dynamic symbol. On ia64, function descriptors for dynamic symbols are always
allocated by the dynamic linker at runtime for canonicalisation (yes, there are
other things you could do, but this is what was chosen), and therefore are not
link-time constants, even though the contents of this function descriptor can
be determined at link-time (since this is linking an executable). GCC should
instead be placing this in a relro section like you said.

Reply via email to