[Bug target/24779] Python miscompilation - TOC reload
amodra at bigpond dot net dot au
gcc-bugzilla@gcc.gnu.org
Wed Nov 16 11:03:00 GMT 2005
------- Comment #3 from amodra at bigpond dot net dot au 2005-11-16 11:03 -------
The testcase in comment #2 is invalid. You can't trash part of a function
pointer (the toc pointer) and expect everything to be rosy. However, the
testcase in comment #1 does indeed show the problem you describe.
0x0000000010000644 <loghelper+100>: ld r0,0(r29)
0x0000000010000648 <loghelper+104>: ld r2,8(r29) <- load func ptr toc
0x000000001000064c <loghelper+108>: mtctr r0
0x0000000010000650 <loghelper+112>: ld r0,128(r1)
0x0000000010000654 <loghelper+116>: std r0,144(r1)
0x0000000010000658 <loghelper+120>: nop
0x000000001000065c <loghelper+124>: lfd f0,144(r1)
0x0000000010000660 <loghelper+128>: fcfid f31,f0
0x0000000010000664 <loghelper+132>: lfd f0,-32696(r2) <- bad r2 !!!
0x0000000010000668 <loghelper+136>: fmul f31,f31,f0
0x000000001000066c <loghelper+140>: bctrl
0x0000000010000670 <loghelper+144>: ld r2,40(r1)
--
amodra at bigpond dot net dot au changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |amodra at bigpond dot net
| |dot au
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2005-11-16 11:03:41
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24779
More information about the Gcc-bugs
mailing list