[Bug 1247607]

Bugs-i 1247607 at bugs.launchpad.net
Thu Nov 7 11:57:53 UTC 2013


Oops, so gcc is broken here after all, look at this..

0000000000003860 <nouveau_pushbuf_reloc>:
    3860:       53                      push   %rbx
    3861:       48 8b 5f 30             mov    0x30(%rdi),%rbx
    3865:       48 8d 43 04             lea    0x4(%rbx),%rax
    3869:       48 89 47 30             mov    %rax,0x30(%rdi)
    386d:       e8 3e ea ff ff          callq  22b0 <pushbuf_krel>
    3872:       89 03                   mov    %eax,(%rbx)
    3874:       5b                      pop    %rbx
    3875:       c3                      retq   

Source:

void
nouveau_pushbuf_reloc(struct nouveau_pushbuf *push, struct nouveau_bo *bo,
		      uint32_t data, uint32_t flags, uint32_t vor, uint32_t tor)
{
	*push->cur++ = pushbuf_krel(push, bo, data, flags, vor, tor);
}

gcc-4.8 evaluates it as:

void
nouveau_pushbuf_reloc(struct nouveau_pushbuf *push, struct nouveau_bo *bo,
		      uint32_t data, uint32_t flags, uint32_t vor, uint32_t tor)
{
	push->cur++;
	*push->cur[-1] = pushbuf_krel(push, bo, data, flags, vor, tor);
}

-- 
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