$NetBSD: patch-ac,v 1.2 2009/08/26 17:36:45 hasso Exp $

--- lib/exceptionhandler/exceptionhandler.c.orig	2009-08-23 07:05:11 +0300
+++ lib/exceptionhandler/exceptionhandler.c	2009-08-26 19:09:43 +0300
@@ -170,18 +170,21 @@ static const char * wz_strsignal(int sig
 		case SIGBUS:
 			switch (sigcode)
 			{
+#if !defined(__DragonFly__)
 				case BUS_ADRALN:
 					return "SIGBUS: Access to an undefined portion of a memory object: Invalid address alignment";
 				case BUS_ADRERR:
 					return "SIGBUS: Access to an undefined portion of a memory object: Nonexistent physical address";
 				case BUS_OBJERR:
 					return "SIGBUS: Access to an undefined portion of a memory object: Object-specific hardware error";
+#endif
 				default:
 					return "SIGBUS: Access to an undefined portion of a memory object";
 			}
 		case SIGCHLD:
 			switch (sigcode)
 			{
+#if !defined(__DragonFly__)
 				case CLD_EXITED:
 					return "SIGCHLD: Child process terminated, stopped, or continued: Child has exited";
 				case CLD_KILLED:
@@ -194,12 +197,16 @@ static const char * wz_strsignal(int sig
 					return "SIGCHLD: Child process terminated, stopped, or continued: Child has stopped";
 				case CLD_CONTINUED:
 					return "SIGCHLD: Child process terminated, stopped, or continued: Stopped child has continued";
+#endif
+				default:
+					return "SIGCHLD: Child process terminated, stopped, or continued";
 			}
 		case SIGCONT:
 			return "SIGCONT: Continue executing, if stopped";
 		case SIGFPE:
 			switch (sigcode)
 			{
+#if !defined(__DragonFly__)
 				case FPE_INTDIV:
 					return "SIGFPE: Erroneous arithmetic operation: Integer divide by zero";
 				case FPE_INTOVF:
@@ -216,6 +223,7 @@ static const char * wz_strsignal(int sig
 					return "SIGFPE: Erroneous arithmetic operation: Invalid floating-point operation";
 				case FPE_FLTSUB:
 					return "SIGFPE: Erroneous arithmetic operation: Subscript out of range";
+#endif
 				default:
 					return "SIGFPE: Erroneous arithmetic operation";
 			};
@@ -224,6 +232,7 @@ static const char * wz_strsignal(int sig
 		case SIGILL:
 			switch (sigcode)
 			{
+#if !defined(__DragonFly__)
 				case ILL_ILLOPC:
 					return "SIGILL: Illegal instruction: Illegal opcode";
 				case ILL_ILLOPN:
@@ -240,6 +249,7 @@ static const char * wz_strsignal(int sig
 					return "SIGILL: Illegal instruction: Coprocessor error";
 				case ILL_BADSTK:
 					return "SIGILL: Illegal instruction: Internal stack error";
+#endif
 				default:
 					return "SIGILL: Illegal instruction";
 			}
@@ -254,10 +264,12 @@ static const char * wz_strsignal(int sig
 		case SIGSEGV:
 			switch (sigcode)
 			{
+#if !defined(__DragonFly__)
 				case SEGV_MAPERR:
 					return "SIGSEGV: Invalid memory reference: Address not mapped to object";
 				case SEGV_ACCERR:
 					return "SIGSEGV: Invalid memory reference: Invalid permissions for mapped object";
+#endif
 				default:
 					return "SIGSEGV: Invalid memory reference";
 			}
@@ -276,6 +288,7 @@ static const char * wz_strsignal(int sig
 		case SIGUSR2:
 			return "SIGUSR2: User-defined signal 2";
 #if _XOPEN_UNIX
+#if !defined(__DragonFly__)
 		case SIGPOLL:
 			switch (sigcode)
 			{
@@ -307,6 +320,7 @@ static const char * wz_strsignal(int sig
 				default:
 					return "SIGPOLL: Pollable event";
 			}
+#endif
 		case SIGPROF:
 			return "SIGPROF: Profiling timer expired";
 		case SIGSYS:
@@ -314,10 +328,12 @@ static const char * wz_strsignal(int sig
 		case SIGTRAP:
 			switch (sigcode)
 			{
+#if !defined(__DragonFly__)
 				case TRAP_BRKPT:
 					return "SIGTRAP: Trace/breakpoint trap: Process breakpoint";
 				case TRAP_TRACE:
 					return "SIGTRAP: Trace/breakpoint trap: Process trace trap";
+#endif
 				default:
 					return "SIGTRAP: Trace/breakpoint trap";
 			}
