Hello once again, On Thu, Apr 05, 2007 at 10:59:40AM +0200, Chris.Dams@mi.infn.it wrote:
No, there is only one instantiation in the GiNaC source. Both in the unmodified one and the one that I modified to work on Mac OS X. So it cannot have different values.
So far so good...
The point is that in the original GiNaC code there would be two instances of, say, foo<void*>::data inside the executable.
But foo<T>::data is a static memeber. There should be only one instance.
One comming from the shared library and the other one coming from the executable itself. Library code would modify the first one and code from the executable would modify the other one.
Could you please run nm -B -C -D /path/to/libginac.so nm -B -C /path/to/your/binary (or nm -B /path/to/libginac.so | c++filt, or whatever is it on OS X) both on the original and modified shared objects/binaries and post the difference? Best regards, Alexei -- All science is either physics or stamp collecting.