Summary: | games-emulation/openmsx-0.5.0 x86 fails to build (non pic aware cpuid asm/c++ code) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jukka Lehtomäki <jukka.lehtomaki> |
Component: | Hardened | Assignee: | Tony Vroon (RETIRED) <chainsaw> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | hardened, soulse |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | patch pending/upstream? | ||
Package list: | Runtime testing required: | --- | |
Attachments: |
src/HostCPU.cc
Patch to fix asm (cpuid and mmx usage) for PIC compliance Patch to fix asm (cpuid and mmx usage) for PIC compliance - take 2 |
Description
Jukka Lehtomäki
2005-03-14 07:37:39 UTC
please attach the src/HostCPU.cc Created attachment 53487 [details]
src/HostCPU.cc
gcc version? i686-pc-linux-gnu 3.4.3.20050110 I've got the bug 77694 too. [5] i686-pc-linux-gnu-3.4.3-vanilla * fixed my problem. Sorry.. this is a semi common bug with standard c code with cpuid asm not being pic aware. There will be a alot of fixes in misc packages for this normal cpuid asm. Perhaps somebody feeling motivated to run this package hardened vs vanilla will want to adapt that c/asm code to this c++/asm code in the form of a patch and attach it here. (that should solve the problem) This is more or less what you need to make the patch $PORTDIR/sys-apps/lshw/files/02.00b-cpuid-PIC.patch adding chainsaw to the CC: as this bug seems to have stalled for a few weeks. Created attachment 64200 [details, diff]
Patch to fix asm (cpuid and mmx usage) for PIC compliance
Patch supplied; re-assigned to package maintainer to arrange verification/testing. The cpuid part of the patch is straightforward enough; openmsx starts up for me so I think that's ok. The other part of the patch modifies some mmx code slightly, to regain ebx for the PIC ABI. However since I don't have any ROMs, I don't know if this works or not. It's a simple enough change, but as always with asm code it's easy to break things. The modified mmx assembler is in the scaler code, so to verify test the various scalers. btw patch is against 0.5.2 Created attachment 64201 [details, diff]
Patch to fix asm (cpuid and mmx usage) for PIC compliance - take 2
Slight fixup; forgot to indicate new clobber of mm6
(shows how easy it is to mess things up in asm).
http://www.funet.fi/pub/README ***************freely distributable material*************** This system has plenty of freely distributable material on its FTPable areas. We have also other services, see at the end of this document for pointers. If you have any questions regarding MATERIALS in this archive, read first `Contacts about material in here' below. If you can't locate correct person/mail alias with it, try `problems@nic.funet.fi', but do not do that as your only attempt! http://www.funet.fi/pub/msx/system_roms/openMSX/ http://www.funet.fi/pub/msx/games/ *********************************************************** Patch to fix asm (cpuid and mmx usage) for PIC compliance - take 2 openmsx-0.5.2.ebuild epatch "${FILESDIR}/openmsx-x86-pic-cpuidmmx.patch" KEYWORDS="~x86" build ok. |