diff -rc5 pm3-1.1.15/boot-LINUXLIBC6/m3core/LINUXLIBC6/RTHeapDepC.c pm3.tainted/boot-LINUXLIBC6/m3core/LINUXLIBC6/RTHeapDepC.c
*** pm3-1.1.15/boot-LINUXLIBC6/m3core/LINUXLIBC6/RTHeapDepC.c	Tue Sep  5 23:23:07 2000
--- pm3.tainted/boot-LINUXLIBC6/m3core/LINUXLIBC6/RTHeapDepC.c	Tue Jul  2 14:20:30 2002
***************
*** 562,572 ****
    result = syscall(SYS_getgroups, gidsetsize, grouplist);
    EXIT_CRITICAL;
    return result;
  }
  
! int getitimer(enum __itimer_which which, struct itimerval *value)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_WRITABLE(value);
    result = syscall(SYS_getitimer, which, value);
--- 562,572 ----
    result = syscall(SYS_getgroups, gidsetsize, grouplist);
    EXIT_CRITICAL;
    return result;
  }
  
! int getitimer(__itimer_which_t which, struct itimerval *value)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_WRITABLE(value);
    result = syscall(SYS_getitimer, which, value);
***************
*** 608,618 ****
  
    EXIT_CRITICAL;
    return result;
  }
  
! int getrlimit(enum __rlimit_resource resource, struct rlimit *rlp)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_WRITABLE(rlp);
    result = syscall(SYS_getrlimit, resource, rlp);
--- 608,618 ----
  
    EXIT_CRITICAL;
    return result;
  }
  
! int getrlimit(__rlimit_resource_t resource, struct rlimit *rlp)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_WRITABLE(rlp);
    result = syscall(SYS_getrlimit, resource, rlp);
***************
*** 1270,1280 ****
    result = syscall(SYS_sethostname, name, namelen);
    EXIT_CRITICAL;
    return result;
  }
  
! int setitimer(enum __itimer_which which, const struct itimerval *value, 
     struct itimerval *ovalue)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_READABLE(value);
--- 1270,1280 ----
    result = syscall(SYS_sethostname, name, namelen);
    EXIT_CRITICAL;
    return result;
  }
  
! int setitimer(__itimer_which_t which, const struct itimerval *value, 
     struct itimerval *ovalue)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_READABLE(value);
***************
*** 1297,1307 ****
    EXIT_CRITICAL;
    return result;
  }
  */
  
! int setrlimit(enum __rlimit_resource resource, const struct rlimit *rlp)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_READABLE(rlp);
    result = syscall(SYS_setrlimit, resource, rlp);
--- 1297,1307 ----
    EXIT_CRITICAL;
    return result;
  }
  */
  
! int setrlimit(__rlimit_resource_t resource, const struct rlimit *rlp)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_READABLE(rlp);
    result = syscall(SYS_setrlimit, resource, rlp);
diff -rc5 pm3-1.1.15/language/modula3/m3compiler/m3cc/gcc/bc-typecd.def pm3.tainted/language/modula3/m3compiler/m3cc/gcc/bc-typecd.def
*** pm3-1.1.15/language/modula3/m3compiler/m3cc/gcc/bc-typecd.def	Thu Feb  6 22:32:10 1997
--- pm3.tainted/language/modula3/m3compiler/m3cc/gcc/bc-typecd.def	Tue Jul  2 14:20:30 2002
***************
*** 12,21 ****
  DEFTYPECODE (HUcode, "HU", HImode, SUtype)
  DEFTYPECODE (SIcode, "SI", SImode, SItype)
  DEFTYPECODE (SUcode, "SU", SImode, SUtype)
  DEFTYPECODE (DIcode, "DI", DImode, DItype)
  DEFTYPECODE (DUcode, "DU", DImode, DUtype)
! DEFTYPECODE (SFcode, "SF", SFmode, SFtype)
  DEFTYPECODE (DFcode, "DF", DFmode, DFtype)
  DEFTYPECODE (XFcode, "XF", XFmode, XFtype)
  DEFTYPECODE (Pcode, "P", PSImode, Ptype)
  DEFTYPECODE (Tcode, "T", SImode, SItype)
--- 12,21 ----
  DEFTYPECODE (HUcode, "HU", HImode, SUtype)
  DEFTYPECODE (SIcode, "SI", SImode, SItype)
  DEFTYPECODE (SUcode, "SU", SImode, SUtype)
  DEFTYPECODE (DIcode, "DI", DImode, DItype)
  DEFTYPECODE (DUcode, "DU", DImode, DUtype)
! DEFTYPECODE (SFcode, "SF", SFmode, double)
  DEFTYPECODE (DFcode, "DF", DFmode, DFtype)
  DEFTYPECODE (XFcode, "XF", XFmode, XFtype)
  DEFTYPECODE (Pcode, "P", PSImode, Ptype)
  DEFTYPECODE (Tcode, "T", SImode, SItype)
diff -rc5 pm3-1.1.15/language/modula3/m3tools/m3gdb/gdb/gdb/i386lnx-nat.c pm3.tainted/language/modula3/m3tools/m3gdb/gdb/gdb/i386lnx-nat.c
*** pm3-1.1.15/language/modula3/m3tools/m3gdb/gdb/gdb/i386lnx-nat.c	Tue Nov  3 18:36:15 1998
--- pm3.tainted/language/modula3/m3tools/m3gdb/gdb/gdb/i386lnx-nat.c	Tue Jul  2 15:06:40 2002
***************
*** 713,724 ****
  
  #ifdef HAVE_SYS_PROCFS_H
  
  #include <sys/procfs.h>
  
! #ifdef HAVE_GREGSET_T
  
  /*  Given a pointer to a general register set in /proc format (gregset_t *),
      unpack the register contents and supply them as gdb's idea of the current
      register values. */
  
  void
--- 713,725 ----
  
  #ifdef HAVE_SYS_PROCFS_H
  
  #include <sys/procfs.h>
  
! #ifndef HAVE_GREGSET_T
  
+ #include <sys/ucontext.h>
  /*  Given a pointer to a general register set in /proc format (gregset_t *),
      unpack the register contents and supply them as gdb's idea of the current
      register values. */
  
  void
diff -rc5 pm3-1.1.15/libs/m3core/src/runtime/LINUXLIBC6/RTHeapDepC.c pm3.tainted/libs/m3core/src/runtime/LINUXLIBC6/RTHeapDepC.c
*** pm3-1.1.15/libs/m3core/src/runtime/LINUXLIBC6/RTHeapDepC.c	Tue Sep  5 22:43:10 2000
--- pm3.tainted/libs/m3core/src/runtime/LINUXLIBC6/RTHeapDepC.c	Tue Jul  2 14:28:40 2002
***************
*** 562,572 ****
    result = syscall(SYS_getgroups, gidsetsize, grouplist);
    EXIT_CRITICAL;
    return result;
  }
  
! int getitimer(enum __itimer_which which, struct itimerval *value)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_WRITABLE(value);
    result = syscall(SYS_getitimer, which, value);
--- 562,572 ----
    result = syscall(SYS_getgroups, gidsetsize, grouplist);
    EXIT_CRITICAL;
    return result;
  }
  
! int getitimer(__itimer_which_t which, struct itimerval *value)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_WRITABLE(value);
    result = syscall(SYS_getitimer, which, value);
***************
*** 608,618 ****
  
    EXIT_CRITICAL;
    return result;
  }
  
! int getrlimit(enum __rlimit_resource resource, struct rlimit *rlp)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_WRITABLE(rlp);
    result = syscall(SYS_getrlimit, resource, rlp);
--- 608,618 ----
  
    EXIT_CRITICAL;
    return result;
  }
  
! int getrlimit(__rlimit_resource_t resource, struct rlimit *rlp)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_WRITABLE(rlp);
    result = syscall(SYS_getrlimit, resource, rlp);
***************
*** 1270,1280 ****
    result = syscall(SYS_sethostname, name, namelen);
    EXIT_CRITICAL;
    return result;
  }
  
! int setitimer(enum __itimer_which which, const struct itimerval *value, 
     struct itimerval *ovalue)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_READABLE(value);
--- 1270,1280 ----
    result = syscall(SYS_sethostname, name, namelen);
    EXIT_CRITICAL;
    return result;
  }
  
! int setitimer(__itimer_which_t which, const struct itimerval *value, 
     struct itimerval *ovalue)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_READABLE(value);
***************
*** 1297,1307 ****
    EXIT_CRITICAL;
    return result;
  }
  */
  
! int setrlimit(enum __rlimit_resource resource, const struct rlimit *rlp)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_READABLE(rlp);
    result = syscall(SYS_setrlimit, resource, rlp);
--- 1297,1307 ----
    EXIT_CRITICAL;
    return result;
  }
  */
  
! int setrlimit(__rlimit_resource_t resource, const struct rlimit *rlp)
  { int result;
  
    ENTER_CRITICAL;
    MAKE_READABLE(rlp);
    result = syscall(SYS_setrlimit, resource, rlp);
