Bug 204985 - VIDEO_CARDS="nv" x11-base/x11-drm-20071019 needs __ucmpdi2 which isnt in the kernel
|
Bug#:
204985
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: PPC
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: enhancement
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: toolchain@gentoo.org
|
Reported By: hiyuh.root@gmail.com
|
|
Component: Ebuilds
|
|
|
URL:
https://bugs.freedesktop.org/show_bug.cgi?id=10547
|
|
Summary: VIDEO_CARDS="nv" x11-base/x11-drm-20071019 needs __ucmpdi2 which isnt in the kernel
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2008-01-09 02:19 0000
|
x11-base/x11-drm-20071019 w/ VIDEO_CARDS="nv" on ~ppc
(w/ sys-devel.gcc-4.2.2) produces unknown symbol __ucmpdi2.
It comes from wrong code generation by sys-devel/gcc-4.2.2
for 64bit comparison in nouveau.ko. Note, I didn't investigate
whether it's gentoo-patched one specific or not.
Reproducible: Always
Steps to Reproduce:
1. VIDEO_CARDS="nv" emerge x11-base/x11-drm-20071019 on ~ppc.
2.
3.
Actual Results:
nouveau.ko produces unknown symbol __ucmpdi2.
Expected Results:
*.ko shouldn't have any unknown symbol.
A workaround I did is to use patched gentoo-sources.
I'll attach it later.
this isnt a bug in gcc ... dont do 64bit math in the kernel
ugh, no ... the last thing you want to do is actually add these symbols to the
kernel. they arent in there by design: you dont want to do 64bit emulated math
in kernel space.
looks like the issue comes up as gcc does not optimize all cases ... so while
the x11-drm package is still broken (imo), by adding better optimization to the
compiler, you should be able build x11-drm without these sym references ...
FYI, same bug was already filed at upstream bugzilla.
This has been fixed in kernel 2.6.25 upstream, according to the fdo bug.
In patchball 0.2 for x11-drm 20071019, I added the patch (with a kernel version
check so as to not collide with the function in newer kernels) for kernels
without the fix.
This is hopefully good now for users affected. I don't have a PPC so I can't
check to make sure if the code works as it should. Any problems, just reopen
here.
Thanks.