Subject: port-mac68k/7738: option DDB requires option COMPAT_13
To: None <gnats-bugs@gnats.netbsd.org>
From: Chas Williams <chas@cmf.nrl.navy.mil>
List: netbsd-bugs
Date: 06/08/1999 16:51:56
>Number:         7738
>Category:       port-mac68k
>Synopsis:       option DDB requires option COMPAT_13
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    port-mac68k-maintainer (NetBSD/mac68k Portmaster)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jun  8 16:50:01 1999
>Last-Modified:
>Originator:     
>Organization:
	Naval Research Laboratory
>Release:        99/06/08
>Environment:
	NetBSD thirdoffive 1.4C NetBSD 1.4C (QUADRA) #6: Tue Jun  8 18:21:26 EDT 1999     chas@thirdoffive:/usr/current/src/sys/arch/mac68k/compile/QUADRA mac68k

>Description:
	if COMPAT_13 is disabled , and DDB enabled in the kernel config
	file, trap.o fails to link with an error about a missing _trap1
	symbol.  if COMPAT_13 is not enabled, vectors.s doesnt define
	trap1
	
>How-To-Repeat:
	create a kernel config w/ COMPAT_13 disabled, and DDB enabled
>Fix:
	i suppose one would patch trap.c not to referenace trap1 unless
	COMPAT_13 is defined...

--- trap.c      Tue Jun  8 18:20:46 1999
+++ trap.c.000  Tue Jun  8 18:16:41 1999
@@ -267,10 +267,7 @@
 {
        extern char fubail[], subail[];
 #ifdef DDB
-       extern char trap0[], trap2[], trap12[], trap15[], illinst[];
-#ifdef COMPAT_13
-       extern char trap1[];
-#endif
+       extern char trap0[], trap1[], trap2[], trap12[], trap15[], illinst[];
 #endif
        struct proc *p;
        int i, s;
@@ -466,9 +463,7 @@
 #ifdef DDB
                if (type == T_TRAP15 ||
                    ((caddr_t) frame.f_pc != trap0 &&
-#ifdef COMPAT_13
                     (caddr_t) frame.f_pc != trap1 &&
-#endif
                     (caddr_t) frame.f_pc != trap2 &&
                     (caddr_t) frame.f_pc != trap12 &&
                     (caddr_t) frame.f_pc != trap15 &&

	however, it looks like the real solution might be just to remove
	the DDB trace code in trap.c


>Audit-Trail:
>Unformatted: