mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
runtime: Always build ldb but disable it when requested
Parts of the formerly conditionalized code are needed by other features such as traceroot. Since ldb is now always included, the :sb-ldb feature is now useless if not misleading. It is probably not used, though (what could it be used for?).
This commit is contained in:
parent
2310ea9a65
commit
48c7a97e6a
|
|
@ -95,10 +95,10 @@
|
|||
;; readtable configured so that the system sources can be read.
|
||||
; :sb-show
|
||||
|
||||
;; Build SBCL with the old CMU CL low level debugger, "ldb". In the
|
||||
;; ideal world you would not need this unless you are messing with
|
||||
;; SBCL at a very low level (e.g., trying to diagnose GC problems, or
|
||||
;; trying to debug assembly code for a port to a new CPU). However,
|
||||
;; Enable the low level debugger, "ldb", by default. In the ideal
|
||||
;; world you would not need this unless you are messing with SBCL at
|
||||
;; a very low level (e.g., trying to diagnose GC problems, or trying
|
||||
;; to debug assembly code for a port to a new CPU). However,
|
||||
;; experience shows that sooner or later everyone lose()'s, in which
|
||||
;; case SB-LDB can at least provide an informative backtrace.
|
||||
:sb-ldb
|
||||
|
|
|
|||
|
|
@ -114,9 +114,10 @@ send a useful bug report then:
|
|||
|
||||
@item
|
||||
@cindex ldb
|
||||
Compile SBCL with ldb support (feature @code{:sb-ldb}, see
|
||||
@file{base-target-features.lisp-expr}) and change @code{#define QSHOW_SIGNAL 0} to
|
||||
@code{#define QSHOW_SIGNAL 1} in @file{src/runtime/runtime.h}.
|
||||
Compile SBCL with ldb enabled (feature @code{:sb-ldb}, see
|
||||
@file{base-target-features.lisp-expr}) and change @code{#define
|
||||
QSHOW_SIGNAL 0} to @code{#define QSHOW_SIGNAL 1} in
|
||||
@file{src/runtime/runtime.h}.
|
||||
|
||||
@item
|
||||
Isolate a smallish test case, run it.
|
||||
|
|
|
|||
|
|
@ -3126,7 +3126,6 @@ core and return a descriptor to it."
|
|||
(format stream "#define INTERNAL_ERROR_NARGS {~{~S~^, ~}}~2%"
|
||||
(map 'list #'cddr sb!c:+backend-internal-errors+)))
|
||||
|
||||
#!+sb-ldb
|
||||
(defun write-tagnames-h (out)
|
||||
(labels
|
||||
((pretty-name (symbol strip)
|
||||
|
|
@ -3745,7 +3744,6 @@ initially undefined function references:~2%")
|
|||
(out-to "constants" (write-constants-h stream))
|
||||
(out-to "errnames" (write-errnames-h stream))
|
||||
(out-to "gc-tables" (sb!vm::write-gc-tables stream))
|
||||
#!+sb-ldb
|
||||
(out-to "tagnames" (write-tagnames-h stream))
|
||||
(let ((structs (sort (copy-list sb!vm:*primitive-objects*) #'string<
|
||||
:key #'sb!vm:primitive-object-name)))
|
||||
|
|
|
|||
|
|
@ -26,9 +26,6 @@
|
|||
#include "parse.h"
|
||||
#include "vars.h"
|
||||
|
||||
/* Almost all of this file can be skipped if we're not supporting LDB. */
|
||||
#if defined(LISP_FEATURE_SB_LDB)
|
||||
|
||||
#include "print.h"
|
||||
#include "arch.h"
|
||||
#include "interr.h"
|
||||
|
|
@ -531,20 +528,9 @@ throw_to_monitor()
|
|||
longjmp(curbuf, 1);
|
||||
}
|
||||
|
||||
#endif /* defined(LISP_FEATURE_SB_LDB) */
|
||||
|
||||
/* what we do when things go badly wrong at a low level */
|
||||
void
|
||||
monitor_or_something()
|
||||
{
|
||||
#if defined(LISP_FEATURE_SB_LDB)
|
||||
ldb_monitor();
|
||||
#else
|
||||
fprintf(stderr,
|
||||
"The system is too badly corrupted or confused to continue at the Lisp\n\
|
||||
level. If the system had been compiled with the SB-LDB feature, we'd drop\n\
|
||||
into the LDB low-level debugger now. But there's no LDB in this build, so\n\
|
||||
we can't really do anything but just exit, sorry.\n");
|
||||
exit(1);
|
||||
#endif
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,8 +23,6 @@
|
|||
#endif
|
||||
#include "runtime.h"
|
||||
|
||||
#if defined(LISP_FEATURE_SB_LDB)
|
||||
|
||||
#include "globals.h"
|
||||
#include "vars.h"
|
||||
#include "parse.h"
|
||||
|
|
@ -328,5 +326,3 @@ lispobj parse_lispobj(char **ptr)
|
|||
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif /* defined(LISP_FEATURE_SB_LDB) */
|
||||
|
|
|
|||
|
|
@ -207,9 +207,6 @@ fshow_fun(void __attribute__((__unused__)) *ignored,
|
|||
va_end(args);
|
||||
}
|
||||
|
||||
/* This file can be skipped if we're not supporting LDB. */
|
||||
#if defined(LISP_FEATURE_SB_LDB)
|
||||
|
||||
#include "monitor.h"
|
||||
#include "vars.h"
|
||||
#include "os.h"
|
||||
|
|
@ -964,13 +961,3 @@ void safely_show_lstring(struct vector * string, int quotes, FILE *s)
|
|||
fprintf(s, "#<[widetag=%02X]>", widetag_of(string->header));
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void
|
||||
brief_print(lispobj obj)
|
||||
{
|
||||
printf("lispobj 0x%lx\n", (unsigned long)obj);
|
||||
}
|
||||
|
||||
#endif /* defined(LISP_FEATURE_SB_LDB) */
|
||||
|
|
|
|||
|
|
@ -448,7 +448,13 @@ main(int argc, char *argv[], char *envp[])
|
|||
|
||||
/* other command line options */
|
||||
boolean end_runtime_options = 0;
|
||||
boolean disable_lossage_handler_p = 0;
|
||||
boolean disable_lossage_handler_p
|
||||
#if defined(LISP_FEATURE_SB_LDB)
|
||||
= 0;
|
||||
#else
|
||||
= 1;
|
||||
#endif
|
||||
|
||||
boolean debug_environment_p = 0;
|
||||
|
||||
lispobj initial_function;
|
||||
|
|
|
|||
Loading…
Reference in a new issue