diff --git a/tools/setup.lisp b/tools/setup.lisp
index 6e8dfef53924b5977ccfea09ab69b0f7458eafdf..87bb3851c466b579f3c8cf48db60f388f8a6036f 100644
--- a/tools/setup.lisp
+++ b/tools/setup.lisp
@@ -29,6 +29,7 @@
 (defmacro eval-stack-local (fp offset)
   `(svref *eval-stack* (+ ,fp ,offset)))
 
+
 #-new-compiler
 (in-package "C" :use '("EXTENSIONS" "SYSTEM" "LISP"))
 
@@ -38,12 +39,6 @@
 	  entry-node-info-st-top entry-node-info-nlx-tag
 	  *compile-time-define-macros*))
 
-#-new-compiler
-(in-package "DEBUG")
-#-new-compiler
-(export '(var arg))
-
-
 #-new-compiler
 (setq clc::*peep-enable* t)
 #-new-compiler
@@ -104,6 +99,59 @@
   (when found
     (unintern found (find-package "LISP"))))
 
+#-new-compiler
+(in-package "DEBUG")
+#-new-compiler
+(export '(var arg))
+
+
+(in-package "DEBUG-INTERNALS" :nicknames '("DI"))
+
+;;; The compiler's debug-source structure is almost exactly what we want, so
+;;; just get these symbols and export them.
+;;;
+(import '(c::debug-source-from c::debug-source-name c::debug-source-created
+	  c::debug-source-compiled c::debug-source-start-positions
+	  c::debug-source c::debug-source-p))
+
+(export '(debug-variable-name debug-variable-package debug-variable-symbol
+	  debug-variable-id debug-variable-value debug-variable-validity
+	  debug-variable-valid-value debug-variable debug-variable-p
+
+	  top-frame frame-down frame-up frame-debug-function
+	  frame-code-location eval-in-frame return-from-frame frame-catches
+	  frame-number frame frame-p
+
+	  do-blocks debug-function-lambda-list do-debug-function-variables
+	  debug-function-symbol-variables ambiguous-debug-variables
+	  preprocess-for-eval function-debug-function debug-function-function
+	  debug-function-kind debug-function-name debug-function
+	  debug-function-p
+
+	  do-debug-block-locations debug-block-successors debug-block
+	  debug-block-p debug-block-elsewhere-p
+
+	  make-breakpoint activate-breakpoint deactivate-breakpoint
+	  breakpoint-hook-function breakpoint-info breakpoint-kind
+	  breakpoint-what breakpoint breakpoint-p
+
+	  code-location-debug-function code-location-debug-block
+	  code-location-top-level-form-offset code-location-form-number
+	  code-location-debug-source code-location code-location-p
+	  unknown-code-location unknown-code-location-p
+
+	  debug-source-from debug-source-name debug-source-created
+	  debug-source-compiled debug-source-root-number
+	  debug-source-start-positions form-number-translations
+	  source-path-context debug-source debug-source-p
+
+	  debug-condition no-debug-info no-debug-function-returns
+	  no-debug-blocks lambda-list-unavailable
+
+	  debug-error unhandled-condition invalid-control-stack-pointer
+	  unknown-code-location unknown-debug-variable invalid-value))
+
+
 #-new-compiler
 (in-package "LISP")
 #-new-compiler