[Bug 1247607]

Bugs-i 1247607 at bugs.launchpad.net
Thu Nov 7 12:07:01 UTC 2013


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 received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to libdrm in Ubuntu.
https://bugs.launchpad.net/bugs/1247607

Title:
  Libdrm compiled with gcc 4.8 makes card hang on resume from s2disk

Status in The GNU Compiler Collection:
  New
Status in Accelerated Xorg driver for nVidia cards:
  Fix Released
Status in “libdrm” package in Ubuntu:
  Fix Released
Status in “libdrm” source package in Saucy:
  In Progress

Bug description:
  My initial bugreport was here:
  https://bugs.freedesktop.org/show_bug.cgi?id=71116

  - Recompiling libdrm with gcc 4.7 fixed the bug.

  Upstream GCC mail thread here: http://gcc.gnu.org/ml/gcc-
  help/2013-07/msg00103.html

  This was fixed thanks to Emil Velikov from the nouveau project.

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/1247607/+subscriptions



More information about the foundations-bugs mailing list