I have two XS modules on solaris using Sun C compiler. One has a C helper function, defined before any MODULE line in the xs file. It takes a C pointer and returns a created perl object. The second module calls that function from the first module's shared object.
In 32-bit mode, this worked. In 64-bit mode, the rv returned by the function, when used by the second module, is bad. Any attempts to dereference (using SvRV, etc), produce seg faults. I added a duplicate function in the second module, just to isolate the problem origin, and everything works great again. Why does this not work in 64-bit, since it still works in 32-bit? I'm guessing that this is not a good practice, so I will stop doing it, but curious about the difference. Any thoughts, especially suggestions on how to deal with duplicate code between modules, is appreciated. Thanks, Marc __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com