First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 48947
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: GCC Porting Team <gcc-porting@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Arve Knudsen <aknuds-1@broadpark.no>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
gcc-3.4.patch Make libsdl-1.2.7 compile/link with GCC 3.4 patch Arve Knudsen 2004-04-25 09:22 0000 5.68 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 48947 depends on: Show dependency tree
Bug 48947 blocks: 48528
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: 2004-04-25 09:20 0000
Unpatched libsdl-1.2.7 contains assembly code which isn't entirely compatible
with GCC 3.4, ie. GCC will complain the PID register (ebx) is clobbered, and
static variables are only referenced directly in inline asm; causing GCC to
omit them from object code. The patched library is tested with neverball and
UT2004, but no guarantees.

------- Comment #1 From Arve Knudsen 2004-04-25 09:22:40 0000 -------
Created an attachment (id=30017) [edit]
Make libsdl-1.2.7 compile/link with GCC 3.4

Apply in directory containing SDL-1.2.7

------- Comment #2 From Andrew Sayman 2004-04-28 03:59:03 0000 -------
I've also successfully used this patch to play Savage

------- Comment #3 From Travis Tilley (RETIRED) 2004-04-28 13:30:37 0000 -------
can somebody on x86 take a look at this? i'm on amd64 and libsdl works
perfectly, since we're not hitting this particular bit of assembly.

------- Comment #4 From JoWilly 2004-04-28 14:14:00 0000 -------
The patch works perfectly here on x86.

------- Comment #5 From Robert Moss (RETIRED) 2004-04-30 18:16:16 0000 -------
Just to note - this also works perfectly here on x86 too.

------- Comment #6 From Srepfler Srgjan 2004-05-03 09:03:20 0000 -------
What's the procedure? Download patch in distfiles and apply the patch? How?
Doesn't that change the md5 signature, how does portage let you continue the
install?

------- Comment #7 From SpanKY 2004-05-03 10:25:55 0000 -------
SDL-1.2.7/src/audio/SDL_mixer_MMX.c and SDL-1.2.7/src/video/SDL_yuv_mmx.c looks
good ... i'll send these upstream

however, SDL-1.2.7/src/cpuinfo/SDL_cpuinfo.c doesnt look so good ...
i notice you remove %ebx from the clobber list yet ebx is still used in the
inline asm code ...

------- Comment #8 From Arve Knudsen 2004-05-03 15:32:50 0000 -------
The reason for removing ebx from the clobber list is that, unless I'm mistaken,
it is restored at the end of the asm block (ie. movl %%ebx, %%edi at the
beginning of the block and movl %%edi, %%ebx at the end), so it should equal
the recommended pushl/popl combo?

------- Comment #9 From Nicolas Laplante 2004-05-04 14:47:47 0000 -------
To Srepfler Srgjan:

To make the patch apply, just put the patch in /usr/portage/media-libs/libsdl/files and edit the build to add:

epatch ${FILESDIR}/the_file.patch 

in the src_unpack() function.

------- Comment #10 From SpanKY 2004-05-05 17:50:01 0000 -------
yeah, you're right, i missed that bit :)

i'm talking with upstream devs to get it all integrated

------- Comment #11 From SpanKY 2004-05-15 23:16:59 0000 -------
ok, i added a patch that is partially yours and partially from upstream to cvs

upstream should have this added for their next release :)

First Last Prev Next    No search results available      Search page      Enter new bug