Subject: Re: pkg/32113: lang/kaffe fails to compile on NetBSD 2.1 alpha
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Antoine Reilles <Antoine.Reilles@loria.fr>
List: pkgsrc-bugs
Date: 11/19/2005 13:54:01
The following reply was made to PR pkg/32113; it has been noted by GNATS.
From: Antoine Reilles <Antoine.Reilles@loria.fr>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/32113: lang/kaffe fails to compile on NetBSD 2.1 alpha
Date: Sat, 19 Nov 2005 14:47:12 +0100
--wRRV7LY7NUeQGEoC
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Could you try the following patch ?
I haven't access to a netbsd alpha machine to test.
antoine
--wRRV7LY7NUeQGEoC
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="kaffe-alpha.diff"
$NetBSD$
--- config/alpha/netbsd1/md.h.orig 2005-07-04 00:02:55.000000000 +0200
+++ config/alpha/netbsd1/md.h
@@ -15,6 +15,19 @@
#include "alpha/common.h"
#include "alpha/threads.h"
+#if defined(HAVE_SIGNAL_H)
+#include <signal.h>
+#endif
+#if defined(HAVE_SYS_RESOURCE_H)
+#include <sys/resource.h>
+#endif
+#if defined(HAVE_SYS_SIGNAL_H)
+#include <sys/signal.h>
+#endif
+#if defined(HAVE_UNISTD_H)
+#include <unistd.h>
+#endif
+
#if defined(TRANSLATOR)
#include "jit-md.h"
#endif
@@ -29,4 +42,33 @@ extern void init_md(void);
#undef SP_OFFSET
#define SP_OFFSET 34
+#if defined(HAVE_SYS_UCONTEXT_H)
+#include <sys/ucontext.h>
+
+/* older netbsd's could have this macro missing, so we provide it */
+#ifdef _UC_MACHINE_SP
+#define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.__gregs[_REG_UESP])
+#endif
+#ifdef _UC_MACHINE_PC
+#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.__gregs[_REG_EIP])
+#endif
+
+#define SIGCONTEXT ucontext_t
+
+#define SIGNAL_ARGS(sig, sc) int sig, siginfo_t *__si, void *sc
+#define SIGNAL_CONTEXT_POINTER(scp) SIGCONTEXT *scp
+#define SIGNAL_PC(scp) _UC_MACHINE_PC(((SIGCONTEXT *)(scp)))
+#define STACK_POINTER(scp) _UC_MACHINE_SP(((SIGCONTEXT *)(scp)))
+#define GET_SIGNAL_CONTEXT_POINTER(sc) (sc)
+
+#else
+
+#define SIGNAL_ARGS(sig, sc) int sig, int __code, struct sigcontext *sc
+#define SIGNAL_CONTEXT_POINTER(scp) struct sigcontext *scp
+#define GET_SIGNAL_CONTEXT_POINTER(sc) (sc)
+#define SIGNAL_PC(scp) (scp)->sc_pc
+#define STACK_POINTER(scp) (scp)->sc_sp
+
+#endif
+
#endif
--wRRV7LY7NUeQGEoC--