[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