head	1.2;
access;
symbols
	RELEASE_4_3_0:1.1
	RELEASE_4_2_0:1.1
	RELEASE_4_1_1:1.1
	RELEASE_4_1_0:1.1
	RELEASE_3_5_0:1.1
	RELEASE_4_0_0:1.1;
locks; strict;
comment	@# @;


1.2
date	2001.07.21.23.41.36;	author jdp;	state dead;
branches;
next	1.1;

1.1
date	99.12.23.17.31.15;	author jdp;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Remove the old modula-3 and modula-3-lib ports.  They are superseded
by the pm3-* family of ports, which build a newer and better-maintained
version of Modula-3.  I have converted all ports which depended on
modula-3 to use pm3-* instead.

PR:		ports/27664 is rendered irrelevant
@
text
@--- m3/m3core/src/runtime/FreeBSD2/RTHeapDep.m3.orig	Fri Jan 20 09:41:09 1995
+++ m3/m3core/src/runtime/FreeBSD2/RTHeapDep.m3	Wed Oct  6 15:22:49 1999
@@@@ -101,25 +101,11 @@@@
 PROCEDURE Fault (sig : Ctypes.int;
                  code: Ctypes.int;
                  scp : UNTRACED REF Usignal.struct_sigcontext) =
-  VAR sf_addr_addr: UNTRACED REF ARRAY[0..1] OF ADDRESS;
-      sf_addr     : ADDRESS;
-  (*
-   * Signal frame of FreeBSD 1.1.5
-   *
-   *  struct sigframe {
-   *    int     sf_signum;
-   *    int     sf_code;
-   *    struct  sigcontext *sf_scp;
-   *    char    *sf_addr;            <-- this is the faulting address
-   *    sig_t   sf_handler;
-   *    struct  sigcontext sf_sc;    <-- this address is passed in scp
-   *   };
-   *)
-                                                    
+  VAR
+    sf_addr := LOOPHOLE(scp.sc_err, ADDRESS);
+
   BEGIN
-    sf_addr_addr := scp - ( 2 * BYTESIZE(ADDRESS));
-    sf_addr      := sf_addr_addr[0];
-    IF scp # NIL AND RTHeapRep.Fault(sf_addr) THEN
+    IF RTHeapRep.Fault(sf_addr) THEN
       RETURN;
     END;
     IF defaultSIGSEGV = Usignal.SIG_IGN THEN RETURN; END;
@


1.1
log
@Fix the Modula-3 runtime so it will work with the new larger
sigset_t types in -current.
@
text
@@

