[Nouveau] [Bug 71116] [any/all(?) cards below nv50(?)] libdrm built with gcc4.8 causes crashes/lockups during normal operation, and resume from disk/memory

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Nov 7 13:07:01 CET 2013


https://bugs.freedesktop.org/show_bug.cgi?id=71116

--- Comment #24 from Maarten Lankhorst <bugs at mblankhorst.nl> ---
Because the function also increments the push->cur pointer, it's a subtle but
real difference:

gcc-4.7:

u32 ret = func(); // May change push->cur ptr
*push->cur = ret;
push->cur++;

gcc-4.8:
u32 *ptr = push->cur;
push->cur++;

*ptr = func(); // Already sees the push->cur ptr


I'm not a language expert, so no idea if I'm right, but it seems the updated
gcc-4.8 behavior is wrong here.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20131107/800faffa/attachment.html>


More information about the Nouveau mailing list