[quake3] SDL_loadso.h in less than recent SDL?

Ryan C. Gordon icculus at icculus.org
Fri Dec 2 14:09:02 EST 2005


> Or we just use dlopen instead of that SDL function again. It's bad
> that SDL adds new symbols without using symbol versioning. It will
> make binaries crash at runtime on distros with older libs.

I don't have much pity for people using software that far out of date,
especially when the upgrade is free. If they can't upgrade SDL because
the system is too mission-critical to update components, they really
shouldn't be playing Quake 3 on that box.  :)

If you want to use dlopen, use linux_glimp.c, but the point of moving to
SDL functions is to remove the Unix dependency...SDL_LoadObject() lets
us use the same code on Mac OS, where dlopen() doesn't exist until
recently, and eventually Windows, where dlopen() won't _ever_ exist.

Also, I'm pretty ignorant of symbol versioning, so this is an honest
question: How does that help in this case? If you need a symbol, it's
either there or it isn't...even if you could check it at runtime (a
"weak reference"?), you still have to pretty much give up when crucial
symbols are missing.

--ryan.




More information about the quake3 mailing list