SDL threads and gdb

Has anyone else had trouble using gdb with a multithreaded program?

I sometimes find at certain points gdb will tell me the program has exited
normally, when it blatently shouldn’t have. It seems to be at points where
I call SDL_CreateThread(), SDL_WaitThread() or just simply let a thread
finish on its own accord. Sometimes gdb leaves a stack, sometimes it
doesn’t. However there are cases when I can call these functions ok.

And of course when I run the program outside of gdb, it all runs fine

Any ideas? what could cause this?

I’m using gdb ver 5.0, redhat 7 box, with SDL 1.2.0, not sure what version
of pthreads, how do I find out (rpm doesn’t know what provides it)?