in reply to Re: Re: 64 bit pointer to string
in thread 64 bit pointer to string

Okay. If the hello world test works then you know that the pointer perl is producing is correct. If the ioctl call is rejecting the pointer, then one possibility is that the alignment is wrong.

Sometimes processors are fussy about the alignment of pointers. Some 32-bit processors require pointers to located on 2 or 4 byte boundaries. Maybe your 64-bit processor requires them to be aligned on a 4 or 8 byte boundary. I think I would try using perls 'N' (or 'V') and 'Q' format specifier to pack the integer that you are currently packing as a 16-bit value and see what if any difference that makes.

In truth, I think that I've gone about as far as I can go with educated guesswork and your probably going to have to either find some documentation specific to your hardware or ask your question in a forum where you will encounter those familar with it.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
If I understand your problem, I can solve it! Of course, the same can be said for you.