Question on Mixing 32bit objects into 64bit programs
This may be somewhat off topic (if so, please point me to the right list) but it is most certainly an AMD64 issue. Icarus Verilog (my Verilog simulator) is capable of dynamically loading third party PLI objects precompiled to be loaded by Cadence simulators (standard API) on Linux/i386 systems. I presume that a 32bit program running on an AMD64 can load these 32bit shared objects no problem. What I'm looking for is how to come up with a thunk or interface where my *64bit* program can load 32bit shared objects. This seems like an absurdity, but if there are hints or suggestions on how I might make it work, I'm listening. -- Steve Williams "The woods are lovely, dark and deep. steve at icarus.com But I have promises to keep, http://www.icarus.com and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep."
What I'm looking for is how to come up with a thunk or interface where my *64bit* program can load 32bit shared objects. This seems like an absurdity, but if there are hints or suggestions on how I might make it work, I'm listening.
Mixing 32bit and 64bit programs in the same address space is not supported. One possible way to do it is to develop a RPC stub that marshalls all data structures and talks to a RPC receiver over a pipe or unix socket. The RPC receiver can then run as a separate 32bit process and load 32bit shared libraries. -Andi
participants (2)
-
Andi Kleen
-
Stephen Williams