pkgsrc/emulators/BasiliskII/patches/patch-ag
joerg 544bf6acc8 Fix infinite loop in configure on DragonFly and FreeBSD 4.
Fix dependencies for modular Xorg by adding Xxf86vm and Xxf86dga.
Bump revision.
2007-06-12 12:51:07 +00:00

47 lines
1.7 KiB
Text

$NetBSD: patch-ag,v 1.4 2007/06/12 12:51:08 joerg Exp $
--- src/Unix/sigsegv.cpp.orig 2006-03-30 22:45:49.000000000 +0000
+++ src/Unix/sigsegv.cpp
@@ -226,7 +226,7 @@ static void powerpc_decode_instruction(i
#if HAVE_SIGINFO_T
// Generic extended signal handler
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__DragonFly__)
#define SIGSEGV_ALL_SIGNALS FAULT_HANDLER(SIGBUS)
#else
#define SIGSEGV_ALL_SIGNALS FAULT_HANDLER(SIGSEGV)
@@ -264,7 +264,7 @@ static void powerpc_decode_instruction(i
#define SIGSEGV_SKIP_INSTRUCTION ix86_skip_instruction
#endif
#endif
-#if defined(__FreeBSD__) || defined(__OpenBSD__)
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
#if (defined(i386) || defined(__i386__))
#define SIGSEGV_FAULT_INSTRUCTION (((struct sigcontext *)scp)->sc_eip)
#define SIGSEGV_REGISTER_FILE ((unsigned long *)&(((struct sigcontext *)scp)->sc_edi)) /* EDI is the first GPR (even below EIP) in sigcontext */
@@ -451,7 +451,7 @@ static sigsegv_address_t get_fault_addre
#define SIGSEGV_ALL_SIGNALS FAULT_HANDLER(SIGSEGV)
#endif
#endif
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__DragonFly__)
#if (defined(i386) || defined(__i386__))
#define SIGSEGV_ALL_SIGNALS FAULT_HANDLER(SIGBUS)
#define SIGSEGV_FAULT_HANDLER_ARGLIST int sig, int code, struct sigcontext *scp, char *addr
@@ -721,10 +721,14 @@ enum {
#endif
};
#endif
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__DragonFly__)
enum {
#if (defined(i386) || defined(__i386__))
+# if (defined(__FreeBSD__) && __FreeBSD_version >= 500000)
X86_REG_EIP = 10,
+#else
+ X86_REG_EIP = 11,
+#endif
X86_REG_EAX = 7,
X86_REG_ECX = 6,
X86_REG_EDX = 5,