<div dir="auto">Agreed, the rtl should definitely divide by pagesize if MMAP2 is defined. I've run into this discrepancy before on ARM at work </div><div style="line-height:1.5"><br><br>-------- Original message --------<br>From: Jonas Maebe <jonas@freepascal.org><br>Date: Sat, 1 Feb 2020, 17:46<br>To: Fabio Luis Girardi via fpc-pascal <fpc-pascal@lists.freepascal.org><br>Subject: Re: [fpc-pascal] fpmmap arm-linux issue<br><blockquote>On 31/01/2020 22:17, Fabio Luis Girardi via fpc-pascal wrote:<br>> In C: <br>> <br>> CM_BaseAddr = mmap(NULL, 0x4000, PROT_READ | PROT_WRITE,               <br>>         MAP_SHARED,  devmemfd, *0x44e00000*); <br>> <br>> to get the "same" code working in FPC I have to change some constants.<br>> <br>> CM_BaseAddr := Fpmmap(NULL, $4000, PROT_READ + PROT_WRITE,             <br>>           MAP_SHARED,  devmemfd, *$44e00*); <br>> <br>> I did a strace in the FPC executable, and the in line above, the base<br>> address is "multiplied" by 4096 dec ($1000 hex)  becoming back equal to<br>> the C constant.<br>> <br>> The question is: this is intentional? Has some technical point that's<br>> not mentioned on the fpmmap documentation? Or it's simply a bug?<br><br>It sounds like a bug. I don't see anything in the RTL that intentially<br>does this.<br><br><br>Jonas<br>_______________________________________________<br>fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org<br>https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal<br></blockquote></div>