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--