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

--- Comment #17 from Kirill A. Korinsky <kirill at korins dot ky> ---
Eric, it feels that I don't understand that this code is doing.

   0x000000e6d45f7b0c <+12>:    ldx  [ %o7 + 0x2c ], %g1
=> 0x000000e6d45f7b10 <+16>:    jmpl  %o7 + %g1, %g1

At begining it loads %o7 + 0x2c aka 0xe6d45f7b30
<_z20notice_global_symbolp9tree_n...@got.plt> into %g1

After that it tries to jump to %o7 + %g1 which is wrong address:

(gdb) x/gx $o7 + $g1
0xfb8ee1f3d44f7b00:     Cannot access memory at address 0xfb8ee1f3d44f7b00
(gdb) 

So, from where I am it should be:

jumpl %g1, %g1

or

jmpl  %o7 + 0x2c, %g1

Reply via email to