[fpc-pascal] fpmmap problem 64 bit linux

Rainer Stratmann rainerstratmann at t-online.de
Sat Nov 21 00:33:51 CET 2020


A 32 bit freepascal program on a 32 bit Linux Debian system is working 
properly. It uses fpmmap for getting the adress of a kms framebuffer.

The same 32 bit program on a 64 bit Linux Debian system *** is not working.
When it comes to the fpmmap it gives an error:

Sys_EINVAL
    One of the record fields Start, length or offset is invalid.

https://www.freepascal.org/docs-html/rtl/baseunix/fpmmap.html

I figured out that it likely can only be the offset value since start and length 
are always the same.

The offset value I got from a previous DRM function.

On the 32 bit System this offset value is $10000000 (fits in 32 bit)
And on the 64 bit System this offset value is $100000000 (does not fit in 32 
bit).

Can it be possible that the fpmmap function strips the offset value to 32 bit?
Is there another way to call fpmmap more directly?
What does fpmmap exactly?
Where can I research?


***
dpkg --add-architecture i386
apt-get update
apt-get install libc6-i386




More information about the fpc-pascal mailing list