Created attachment 223502 [details] fix rtl/bsd/bunxsysc.inc defines PIPE_RESULT_IN_EAX_AND_EDX on FreeBSD which makes FPpipe use inline asm instead of do_syscall. Fix by adopting Linux definition i.e., pass 0 as flags (2nd) argument $ make clean all -C lang/fpc [...] ./fpmake compile --localunitdir=../.. --globalunitdir=.. --os=freebsd --cpu=x86_64 -o -Cg -o -dx86_64 --compiler=/usr/ports/lang/fpc/work/fpc-3.2.0/compiler/ppcx64 -bu gmake[1]: *** [Makefile:2484: all] Bad system call $ truss packages/fcl-res/fpmake |& fgrep 'not implemented' compat10.pipe() ERR#78 'Function not implemented' $ sysctl kern.conftxt | fgrep -i compat options COMPAT_LINUXKPI options COMPAT_FREEBSD12 options COMPAT_FREEBSD11 options COMPAT_FREEBSD32
Created attachment 223503 [details] fix Drop __pipe_call as it's no longer used after inline asm was removed.
Build and package info is available at https://gitlab.com/swills/freebsd-ports/pipelines/281778139
Hi Jan Maybe the best just is remove "defined(freebsd) or" from this line: {$if defined(freebsd) or defined (dragonfly)} What do you think?
(In reply to Jose Alonso Cardenas Marquez from comment #3) Leaving DragonFly alone to fend off cruft is not a good idea. https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ca1161c61688e19d06150eef59b47e2f8188e7d5