New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uintptr_t is wrong size on 64-bit JRuby #2293

Closed
djberg96 opened this Issue Dec 9, 2014 · 1 comment

Comments

Projects
None yet
3 participants
@djberg96
Contributor

djberg96 commented Dec 9, 2014

Also posted here: ffi/ffi#396

I noticed that a 64-bit JRuby is handling :uintptr_t incorrectly. It should give me an 8 byte pointer, but I'm getting a 4 byte pointer instead:

#64-bit MRI returns 8, but a 64-bit JRuby returns 4
FFI::MemoryPointer.new(:uintptr_t).size

My workaround for now is this:

if RUBY_PLATFORM == 'java' && ENV_JAVA['sun.arch.data.model'] == '64'
  :ulong_long
else
  :uintptr_t
end
@jsvd

This comment has been minimized.

Show comment
Hide comment
@jsvd

jsvd May 20, 2015

this is related to #1718

jsvd commented May 20, 2015

this is related to #1718

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment