* "To make it compile and run".
* Config.hppa-hpux missed from 1.0.24.18.
* Patch by Larry Valkama.
--- /dev/null
+# -*- makefile -*- for the C-level run-time support for SBCL
+
+# This software is part of the SBCL system. See the README file for
+# more information.
+#
+# This software is derived from the CMU CL system, which was
+# written at Carnegie Mellon University and released into the
+# public domain. The software is in the public domain and is
+# provided with absolutely no warranty. See the COPYING and CREDITS
+# files for more information.
+
+LINKFLAGS += -v
+# avoid native tools
+NM = /usr/local/bin/nm
+CC = /usr/local/bin/gcc
+
+ASSEM_SRC = hppa-assem.S ldso-stubs.S
+ARCH_SRC = hppa-arch.c
+OS_SRC = hpux-os.c hppa-hpux-os.c
+
+OS_LIBS =
+
+CFLAGS += -D_POSIX_SOURCE -D_HPUX_SOURCE
+
+ifdef LISP_FEATURE_LARGEFILE
+ CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+endif
+
+ifdef LISP_FEATURE_SB_THREAD
+ OS_LIBS += -lpthread
+endif
+
+GC_SRC = cheneygc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
else {
unsigned long code_start;
struct code *codeptr = (struct code *)native_pointer(code);
-#ifdef parisc
+#ifdef LISP_FEATURE_HPPA
unsigned long pc = *os_context_pc_addr(context) & ~3;
#else
unsigned long pc = *os_context_pc_addr(context);
lose("set_auto_gc_trigger: tried to set gc trigger too high! (0x%08lx)\n",
(unsigned long)dynamic_usage);
-#if defined(SUNOS) || defined(SOLARIS)
+#if defined(SUNOS) || defined(SOLARIS) || defined(LISP_FEATURE_HPUX)
os_invalidate(addr, length);
#else
os_protect(addr, length, 0);
addr = (os_vm_address_t)current_auto_gc_trigger;
length = dynamic_space_size + (os_vm_address_t)current_dynamic_space - addr;
-#if defined(SUNOS) || defined(SOLARIS)
+#if defined(SUNOS) || defined(SOLARIS) || defined(LISP_FEATURE_HPUX)
/* don't want to force whole space into swapping mode... */
os_validate(addr, length);
#else
sigaddset(s, SIGTSTP);
sigaddset(s, SIGCHLD);
sigaddset(s, SIGIO);
+#ifndef LISP_FEATURE_HPUX
sigaddset(s, SIGXCPU);
sigaddset(s, SIGXFSZ);
+#endif
sigaddset(s, SIGVTALRM);
sigaddset(s, SIGPROF);
sigaddset(s, SIGWINCH);
lose("dead in fake_foreign_function_call, context = %x\n", context);
}
#endif
+/* why doesnt PPC and SPARC do something like this: */
+#if defined(LISP_FEATURE_HPPA)
+ if ((long)dynamic_space_free_pointer & 4) {
+ lose("dead in fake_foreign_function_call, context = %x, d_s_f_p = %x\n", context, dynamic_space_free_pointer);
+ }
+#endif
#endif
#ifdef reg_BSP
current_binding_stack_pointer =
#include "sbcl.h"
#include "runtime.h"
+#ifdef LISP_FEATURE_HPUX
+struct tm *gmtime_r(const time_t *timer, struct tm *result);
+struct tm *localtime_r(const time_t *timer, struct tm *result);
+#endif
+
void get_timezone(time_t when, int *secwest, boolean *dst)
{
struct tm ltm, gtm;
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.24.19"
+"1.0.24.20"