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: