with libsdl-1.2.9, some games (like bomberclone) started segfaulting in
Gentoo … with the help of Aaron in the Gentoo bugzilla, we traced it back
to this change:
http://www.libsdl.org/cgi/cvsweb.cgi/SDL12/src/video/SDL_blit_N.c.diff?r1=1.9&r2=1.10
the last change in the last hunk:
-(table[which].cpu_mmx == SDL_HasMMX())
+(table[which].blit_features & GetBlitFeatures()) ==
table[which].blit_features)
the bug seems to be that on non-altivec systems, if blit_features is 0, this
statement returns true when it used to return false
(table[which].cpu_mmx == SDL_HasMMX()))
0 == 1
(table[which].blit_features & GetBlitFeatures()) ==
table[which].blit_features)
(0 & 1) == 0
if i change the statement to read:
(table[which].blit_features & GetBlitFeatures()) == GetBlitFeatures()
bomberclone no longer segfaults on my box
can anyone else confirm this ?
Gentoo bug report:
http://bugs.gentoo.org/104533
-mike
-------------- next part --------------
A non-text attachment was scrubbed…
Name: libsdl-1.2.9-sdl-blit-mmx-check.patch
Type: text/x-diff
Size: 551 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20051229/1d5ffbc6/attachment.patch