In Ubuntu, I was tracking down a libsdl-perl build failure that I traced to SDL_gfx. See downstream bug https://bugs.launchpad.net/ubuntu/+source/sdlgfx/+bug/1029981
Basically, I think something is odd with the _cpuflags() call on i386. It seems to return different results based on whether it has been called before or whether it is in a function or main(). There is some alternate assembly code in the downstream bug that seems like it might be more reliable, but I'm not sure why, as I'm not well versed in assembly.
Any ideas why this would be so?