View | Details | Raw Unified | Return to bug 254481 | Differences between
and this patch

Collapse All | Expand All

(-)lang/fpc/Makefile (-1 / +1 lines)
Lines 3-9 Link Here
3
3
4
PORTNAME=	fpc
4
PORTNAME=	fpc
5
PORTVERSION=	3.2.0
5
PORTVERSION=	3.2.0
6
PORTREVISION?=	1
6
PORTREVISION?=	2
7
CATEGORIES?=	lang
7
CATEGORIES?=	lang
8
MASTER_SITES=	ftp://ftp.freepascal.org/pub/fpc/dist/${PORTVERSION}/source/:source \
8
MASTER_SITES=	ftp://ftp.freepascal.org/pub/fpc/dist/${PORTVERSION}/source/:source \
9
		ftp://planetmirror.com/pub/fpc/dist/${PORTVERSION}/source/:source \
9
		ftp://planetmirror.com/pub/fpc/dist/${PORTVERSION}/source/:source \
(-)lang/fpc/files/patch-rtl-bsd_bunxsysc.inc (-12 / +40 lines)
Lines 1-15 Link Here
1
--- rtl/bsd/bunxsysc.inc	2015-08-04 04:31:09.000000000 -0500
1
--- rtl/bsd/bunxsysc.inc.orig	2015-07-14 21:58:27 UTC
2
+++ rtl/bsd/bunxsysc.inc	2020-02-21 18:30:23.409088000 -0500
2
+++ rtl/bsd/bunxsysc.inc
3
@@ -379,10 +379,10 @@
3
@@ -374,39 +374,10 @@ begin
4
 {$if defined(freebsd) or defined (dragonfly)}
4
  FPutime:=do_syscall(syscall_nr_utimes,TSysParam(path),TSysParam(tvp));
5
   {$define PIPE_RESULT_IN_EAX_AND_EDX}
5
 end;
6
 {$endif}
6
 
7
-Function FPpipe(var fildes : tfildes):cint;
7
-function __pipe_call(sysnr:TSysParam):TSysResult; {$ifdef cpui386}oldfpccall{$endif} external name 'FPC_DOSYS0';
8
+Function FPpipe(var fildes : tfildes; flags:cint):cint;
8
-
9
 {$ifndef PIPE_RESULT_IN_EAX_AND_EDX}
9
-{$if defined(freebsd) or defined (dragonfly)}
10
-  {$define PIPE_RESULT_IN_EAX_AND_EDX}
11
-{$endif}
12
 Function FPpipe(var fildes : tfildes):cint;
13
-{$ifndef PIPE_RESULT_IN_EAX_AND_EDX}
10
 begin
14
 begin
11
-  fppipe:=do_syscall(syscall_nr_pipe,TSysParam(@fildes));
15
-  fppipe:=do_syscall(syscall_nr_pipe,TSysParam(@fildes));
12
+  fppipe:=do_syscall(syscall_nr_pipe2,TSysParam(@fildes), TSysParam(flags));
16
+  FPpipe:=do_syscall(syscall_nr_pipe2,TSysParam(@fildes),0);
13
 end;
17
 end;
14
 {$else}
18
-{$else}
15
 var
19
-var
20
-  a, b: cInt;
21
-begin
22
-  asm
23
-  {$ifdef CPUi386}
24
-    pushl syscall_nr_pipe
25
-    call __pipe_call
26
-    movl %eax, a
27
-    movl %edx, b
28
-  {$else}
29
-    movq syscall_nr_pipe, %rdi
30
-    call __pipe_call
31
-    movl %eax, a
32
-    movl %edx, b
33
-  {$endif}
34
-  end;
35
-
36
-  fpPipe := a; // eax is in a, no matter if it worked or not
37
-  fildes[0] := a;
38
-  fildes[1] := b;
39
-end;
40
-{$endif}
41
 
42
 function FPfcntl(fildes:cint;Cmd:cint;Arg:cint):cint;
43
 
(-)lang/fpc/files/patch-rtl-freebsd_unxfunc.inc (-13 lines)
Lines 1-13 Link Here
1
--- rtl/freebsd/unxfunc.inc	2020-02-21 18:39:27.076200000 -0500
2
+++ rtl/freebsd/unxfunc.inc	2020-02-21 18:39:47.649039000 -0500
3
@@ -49,8 +49,9 @@
4
 }
5
 var
6
   pip  : tfildes;
7
+  flags : cint;
8
 begin
9
-  assignPipe:=fppipe(pip);
10
+  assignPipe:=fppipe(pip, flags);
11
   pipe_in:=pip[0];
12
   pipe_out:=pip[1];
13
 end;
(-)lang/fpc/files/patch-rtl-unix_bunxh.inc (-11 lines)
Lines 1-11 Link Here
1
--- rtl/unix/bunxh.inc	2020-02-21 18:37:42.890255000 -0500
2
+++ rtl/unix/bunxh.inc	2020-02-21 18:38:00.256721000 -0500
3
@@ -34,7 +34,7 @@
4
     Function  FpChmod      (path : pChar; Mode : TMode): cInt;
5
     Function  FpChown      (path : pChar; owner : TUid; group : TGid): cInt;
6
     Function  FpUtime      (path : pChar; times : putimbuf): cInt;
7
-    Function  FpPipe       (var fildes : tfildes):cInt;
8
+    Function  FpPipe       (var fildes : tfildes; flags : cInt):cInt;
9
     Function  FpDup        (fildes : cInt): cInt;  external name 'FPC_SYSC_DUP';
10
     Function  FpDup2       (fildes, fildes2 : cInt): cInt; external name 'FPC_SYSC_DUP2';
11
     Function  FpTimes      (var buffer : tms): TClock;

Return to bug 254481