File runtime.diff of Package smlnj

--- c-libs/smlnj-date/mktime.c
+++ c-libs/smlnj-date/mktime.c
@@ -3,6 +3,7 @@
  * COPYRIGHT (c) 1995 AT&T Bell Laboratories.
  */
 
+#include <string.h>
 #include <time.h>
 #include "ml-base.h"
 #include "ml-c.h"
--- c-libs/smlnj-runtime/gc-ctl.c
+++ c-libs/smlnj-runtime/gc-ctl.c
@@ -5,6 +5,7 @@
  * General interface for GC control functions.
  */
 
+#include <string.h>
 #include "ml-base.h"
 #include "ml-values.h"
 #include "ml-state.h"
--- gc/c-globals-tbl.c
+++ gc/c-globals-tbl.c
@@ -6,6 +6,7 @@
  * in the ML heap (e.g., references to C functions).
  */
 
+#include <string.h>
 #include "ml-base.h"
 #include "tags.h"
 #include "ml-values.h"
--- gc/heap-in-util.c
+++ gc/heap-in-util.c
@@ -75,6 +75,7 @@ status_t HeapIO_Seek (inbuf_t *bp, long
       if (fseek (bp->file, offset, SEEK_SET) != 0)
 	Die ("unable to seek on heap image\n");
       bp->nbytes = 0;		/* just in case? */
+      return SUCCESS;
     }
 
 } /* end of HeapIO_Seek */
--- gc/heap-out-util.c
+++ gc/heap-out-util.c
@@ -5,6 +5,7 @@
  * Utility routines to export (or blast) an ML heap image.
  */
 
+#include <string.h>
 #include "ml-base.h"
 #include "heap.h"
 #include "ml-values.h"
--- gc/mem-writer.c
+++ gc/mem-writer.c
@@ -5,6 +5,7 @@
  * An implementation of the abstract writers on top of memory regions.
  */
 
+#include <string.h>
 #include "ml-base.h"
 #include "writer.h"
 
--- include/asm-base.h
+++ include/asm-base.h
@@ -90,7 +90,7 @@
 
 #elif (defined(HOST_RS6000) || defined(HOST_PPC))
 #  if defined(OPSYS_AIX)
-#    define CFUNSYM(ID)	CONCAT(.,ID)
+#    define CFUNSYM(ID)	.ID
 #    define USE_TOC
 #   if defined(HOST_RS6000)
 #    define GLOBAL(ID)	.globl CSYM(ID)
@@ -138,8 +138,8 @@
 #    define WORD(W)     WORD32(W)
 #  else
 #    define CGLOBAL(ID)	  GLOBAL CSYM(ID)
-#    define LABEL(ID)	  CONCAT(ID,:)
-#    define IMMED(ID)	  CONCAT($,ID)
+#    define LABEL(ID)	  ID:
+#    define IMMED(ID)	  $ID
 #    define ALIGN4        .align 2
 #    define WORD(W)       .word W
 #    define TEXT          .text
--- include/ml-base.h
+++ include/ml-base.h
@@ -149,8 +149,16 @@ typedef struct {	/* a table of system co
 extern void Say (char *fmt, ...);
 extern void SayDebug (char *fmt, ...);
 extern void Error (char *, ...);
-extern void Exit (int code);
-extern void Die (char *, ...);
+extern void Exit (int code)
+#ifdef __GNUC__
+  __attribute__((noreturn))
+#endif
+;
+extern void Die (char *, ...)
+#ifdef __GNUC__
+  __attribute__((noreturn))
+#endif
+;
 
 /* heap_params is an abstract type, whose representation depends on the
  * particular GC being used.
--- kernel/main.c
+++ kernel/main.c
@@ -6,6 +6,7 @@
  */
 
 #include <stdio.h>
+#include <string.h>
 #include <ctype.h>
 #include "ml-base.h"
 #include "ml-options.h"
--- mach-dep/assyntax.h
+++ mach-dep/assyntax.h
@@ -312,8 +312,8 @@
 
 /* Addressing Modes */
 /* Immediate Mode */
-#define ADDR(a)		CHOICE(CONCAT($,a), CONCAT($,a), a)
-#define CONST(a)	CHOICE(CONCAT($,a), CONCAT($,a), a)
+#define ADDR(a)		CHOICE($a, $a, a)
+#define CONST(a)	CHOICE($a, $a, a)
 
 /* Indirect Mode */
 #define CONTENT(a)	CHOICE(a, a, (a))	 /* take contents of variable */