Bug 254481 - lang/fpc: drop dependency on COMPAT_FREEBSD10
Summary: lang/fpc: drop dependency on COMPAT_FREEBSD10
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jose Alonso Cardenas Marquez
URL:
Keywords: buildisok, patch
Depends on:
Blocks:
 
Reported: 2021-03-22 16:53 UTC by Jan Beich
Modified: 2021-04-16 20:29 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (acm)


Attachments
fix (4.38 KB, patch)
2021-03-22 16:53 UTC, Jan Beich
no flags Details | Diff
fix (4.46 KB, patch)
2021-03-22 16:57 UTC, Jan Beich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2021-03-22 16:53:52 UTC
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
Comment 1 Jan Beich freebsd_committer 2021-03-22 16:57:27 UTC
Created attachment 223503 [details]
fix

Drop __pipe_call as it's no longer used after inline asm was removed.
Comment 2 Automation User 2021-04-06 00:13:42 UTC
Build and package info is available at https://gitlab.com/swills/freebsd-ports/pipelines/281778139
Comment 3 Jose Alonso Cardenas Marquez freebsd_committer 2021-04-16 18:07:34 UTC
Hi Jan

Maybe the best just is remove "defined(freebsd) or" from this line:

{$if defined(freebsd) or defined (dragonfly)}

What do you think?
Comment 4 Jan Beich freebsd_committer 2021-04-16 20:29:52 UTC
(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