E pur si muove

Reading a 64-bit core from a 32-bit proc on solaris?

Saturday, March 28, 2009

I'm trying to read some pointers from a 64-bit address space file (from /proc/pid/as) while running in a 32-bit process - all this on Solaris. To do this I'm using the transitional large file compilation environment, i.e. where you get both open()/pread() and open64()/pread64() since I still want to be able to read a 32-bit core. However when doing the pread64() call on the address space I keep getting EOVERFLOW, no matter what values I put in - even trying to read the first byte of the core. And reading the first byte of a 64-bit core using simply pread(), which as far as I can tell should work, fails too. EOVERFLOW whatever I do.

Is this simply Solaris stopping me from reading a core from a 64-bit proc? But why wouldn't it stop me at the time I do the open64() call in that case? Any clues would be appreciated.

Saturday, March 28, 2009 |


New comments are not allowed.

Subscribe to: Post Comments (Atom)