From: Stefan S. <se...@sy...> - 2004-07-08 22:51:37
|
Grigorenko Dmitriy wrote: > Your are right. I found that problem is in the lt_dlinit() call (the first > call of the ltdl function). You can find it in > the InitDynamicLoader() function in driver2.cc. I checked that sigfault > heppens befor the first line of lt_dlinit and befor the first line of the > main function in ltdl. (We have to add an empty main funcion in ltdl.c). > I investigated that in case of static linking occ which ltdl.o (instead of > using -lltdl) it is all right! > So I think that problem is in the linking process. Namely, I think what the > lt_dlinit() function address is incorrect. This sounds strangely familiar. I had lots of trouble with initialization code that was due to the undefined order of global variable initialization. We eventually replaced all global variables (in synopsis) by alternatives (singletons, explicit initialization, etc.) and the problem disappeared. May be there are somewhere some global variables left in opencxx... Regards, Stefan |