Recompiling X didn't help either.
I've also noticed another (sort of the same, but not entirely) error, this one when running glxgears:
glxgears: relocation error: /usr/lib/libGLcore.so.1: undefined symbol: __divdi3
Which makes it sound like it's libGLcore.so.1 that's causing the problem after all....
I wonder if this has anything to do with the new gcc 3 ABI (basically, the binary format, if I understand it correctly). If libGLcore can't load because the loader doesn't understand part of it, or ... something.
I think it's time to e-mail linux-bugs, unless anyone comes up with anything...