Simplify (and robustify) regular PACKing
[sbcl.git] / src / runtime / undefineds.h
index 3130fb4..b1cb325 100644 (file)
@@ -1,5 +1,21 @@
 /*
  * routines that must be linked into the core for Lisp to work
+ *
+ * but note this is only the BSD version, as per the FIXME
+ *
+ * FIXME: It's tedious and error-prone having to edit both this file and
+ * the analogous ldso-stubs.S file when we change the references to
+ * functions, enough so that it would probably be good to rewrite
+ * both files in terms of a shared list of function names.
+ * E.g. the function names could be in shared-function-names.h
+ *   SHARED_FUNCTION(cos)
+ *   SHARED_FUNCTION(sinh)
+ *   SHARED_FUNCTION(strlen)
+ * etc. and the per-OS files could look like
+ *   #define SHARED_FUNCTION(f) ....
+ *   #include "shared-function-names.h"
+ *   ...then going on to do OS-specific things
+ * "Once and only once."
  */
 
 /*
@@ -22,7 +38,8 @@ F(brk)
 #if defined(hpux) \
      || defined(SVR4) \
      || defined(__FreeBSD__) \
-     || defined(__OpenBSD__)
+     || defined(__OpenBSD__) \
+     || defined(__NetBSD__)
 F(cfgetospeed)
 F(cfsetospeed)
 F(cfgetispeed)
@@ -39,6 +56,7 @@ F(dup)
 F(dup2)
 F(execve)
 F(exit)
+F(_exit)
 F(fchmod)
 F(fchown)
 F(fcntl)
@@ -56,9 +74,6 @@ F(getegid)
 F(geteuid)
 F(getgid)
 F(getgroups)
-#if !defined (SOLARIS) || defined(SOLARIS25)
-F(gethostid)
-#endif
 F(gethostname)
 F(getitimer)
 #if !defined(hpux) && !defined(SVR4) || defined(SOLARIS25)
@@ -125,6 +140,7 @@ F(sethostname)
 #endif
 F(setitimer)
 F(setpgrp)
+F(setsid)
 #if !defined(SVR4) ||  defined(SOLARIS25)
 F(setpriority)
 #endif
@@ -132,22 +148,20 @@ F(setrlimit)
 F(setsockopt)
 F(settimeofday)
 F(shutdown)
-#ifndef SVR4
-F(sigblock)
-#endif
-F(sigpause)
-#if !defined(hpux) && !defined(SVR4) && !defined(__i386__)
+#if !defined(hpux) && !defined(SVR4) && !defined(LISP_FEATURE_X86)
 F(sigreturn)
 #endif
-#if !defined(SVR4) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+#if !defined(SVR4)
 F(sigsetmask)
+#endif
+#if !defined(SVR4) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
 F(sigstack)
 F(sigvec)
 #endif
 F(socket)
 F(socketpair)
 F(stat)
-#ifndef SVR4
+#if !defined(SVR4) && !defined(__OpenBSD__)
 F(swapon)
 #endif
 F(symlink)
@@ -165,6 +179,7 @@ F(readdir)
      || defined(SVR4) \
      || defined(__FreeBSD__) \
      || defined(__OpenBSD__) \
+     || defined(__NetBSD__) \
      || defined(__linux__)
 F(tcgetattr)
 F(tcsetattr)
@@ -182,7 +197,8 @@ F(umask)
      && !defined(parisc) \
      && !defined(SOLARIS) \
      && !defined(__OpenBSD__) \
-     && !defined(__FreeBSD__)
+     && !defined(__FreeBSD__) \
+     && !defined(__NetBSD__)
 F(umount)
 #endif
 F(unlink)
@@ -192,10 +208,11 @@ F(utimes)
 #ifndef irix
 F(vfork)
 #endif
-#if !defined(osf1) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+#if !defined(osf1) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
 F(vhangup)
 #endif
 F(wait)
+F(waitpid)
 #if !defined(SOLARIS) ||  defined(SOLARIS25)
 F(wait3)
 #endif
@@ -229,16 +246,22 @@ F(pow)
 #ifndef hpux
 F(cbrt)
 #endif
-#ifndef __i386__
+#ifndef LISP_FEATURE_X86
 F(sqrt)
 #endif
 F(hypot)
 
+/* string things */
+F(strlen)
+
 /* network support */
 F(gethostbyname)
 F(gethostbyaddr)
 
 /* other miscellaneous things */
+/* FIXME: NetBSD plays some renaming games, and so cannot simply
+   reference symbols here.  "NetBSD needs to get fixed here too PEM
+   2004-03-27" */
 #if defined(SVR4) || defined(__FreeBSD__)
 F(setpgid)
 F(getpgid)