Hi, Rod, > I'd be careful of -Bdirect and C++. -Bdirect can result in different > callers binding to different definitions of the same named symbol. > This is verify often useful, and what you want to achieve. But C++ > is littered with implementation details that expect interposition > to occur with some of their multiply defined symbols. -Bdirect can > break this expectation. Would you like to give me an example of that? I'm very interested in that :)
Regards, > > RTLD_NOW results in ld.so.1 performing all relocations on the loaded > objects - thus, the interdependencies of the function calls that have > been bound are added to the mix to determine the topological sort > of the .init sections. I suspect this sort has resulted in a > different firing order than the sort that is determined when only > the data symbol relocation bindings have been processed. > > You might still be skating on thin ice ... cyclic dependencies between > .init code should be avoided. >