Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 204985
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Toolchain Maintainers <toolchain@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: KIMURA Masaru / hiyuh <hiyuh.root@gmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
__ucmpdi2_workaround.patch patch for __ucmpdi2 workaround patch KIMURA Masaru / hiyuh 2008-01-09 02:20 0000 2.34 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 204985 depends on: Show dependency tree
Bug 204985 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   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.

------- Comment #1 From KIMURA Masaru / hiyuh 2008-01-09 02:20:19 0000 -------
Created an attachment (id=140516) [details]
patch for __ucmpdi2 workaround

------- Comment #2 From SpanKY 2008-01-09 17:58:06 0000 -------
this isnt a bug in gcc ... dont do 64bit math in the kernel

------- Comment #3 From SpanKY 2008-01-09 19:19:56 0000 -------
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 ...

------- Comment #4 From KIMURA Masaru / hiyuh 2008-02-06 16:16:35 0000 -------
FYI, same bug was already filed at upstream bugzilla.

------- Comment #5 From Bryan Stine 2008-09-13 01:28:37 0000 -------
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.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug