The 'shmat' function from the 'ipc' unit seems to be broken on x86_64-linux. This patch seems to fix it.
(Apply to rtl/linux/ipcsys.inc)
35,36d34
< Var raddr : pointer;
<     error : ptrint;
38,42c36
<   error:=do_syscall(syscall_nr_SHMAT,TSysParam(shmid),TSysParam(shmflg),TSysParam(@raddr),TSysParam(shmaddr));
<   If Error<0 then
<     shmat:=pointer(error)
<   else
<     shmat:=raddr;
---
>   shmat:=pointer(do_syscall(syscall_nr_SHMAT,TSysParam(shmid),TSysParam(shmaddr),TSysParam(shmflg)));
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to