projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SPARC gencgc
[sbcl.git]
/
src
/
runtime
/
print.c
diff --git
a/src/runtime/print.c
b/src/runtime/print.c
index
e50da2e
..
da8744e
100644
(file)
--- a/
src/runtime/print.c
+++ b/
src/runtime/print.c
@@
-27,6
+27,7
@@
#include <stdarg.h>
#include "thread.h" /* genesis/primitive-objects.h needs this */
#include <errno.h>
#include <stdarg.h>
#include "thread.h" /* genesis/primitive-objects.h needs this */
#include <errno.h>
+#include <stdlib.h>
/* FSHOW and odxprint provide debugging output for low-level information
* (signal handling, exceptions, safepoints) which is hard to debug by
/* FSHOW and odxprint provide debugging output for low-level information
* (signal handling, exceptions, safepoints) which is hard to debug by
@@
-69,10
+70,16
@@
dyndebug_init()
dyndebug_init1(misc, "MISC");
dyndebug_init1(pagefaults, "PAGEFAULTS");
dyndebug_init1(misc, "MISC");
dyndebug_init1(pagefaults, "PAGEFAULTS");
+ int n_output_flags = n;
+ dyndebug_init1(backtrace_when_lost, "BACKTRACE_WHEN_LOST");
+ dyndebug_init1(sleep_when_lost, "SLEEP_WHEN_LOST");
+
if (n != DYNDEBUG_NFLAGS)
fprintf(stderr, "Bug in dyndebug_init\n");
if (n != DYNDEBUG_NFLAGS)
fprintf(stderr, "Bug in dyndebug_init\n");
+#if defined(LISP_FEATURE_GENCGC)
gencgc_verbose = dyndebug_config.dyndebug_gencgc_verbose;
gencgc_verbose = dyndebug_config.dyndebug_gencgc_verbose;
+#endif
char *featurelist = getenv("SBCL_DYNDEBUG");
if (featurelist) {
char *featurelist = getenv("SBCL_DYNDEBUG");
if (featurelist) {
@@
-84,7
+91,7
@@
dyndebug_init()
if (!token) break;
unsigned i;
if (!strcmp(token, "all"))
if (!token) break;
unsigned i;
if (!strcmp(token, "all"))
- for (i = 0; i < DYNDEBUG_NFLAGS; i++)
+ for (i = 0; i < n_output_flags; i++)
*ptrs[i] = 1;
else {
for (i = 0; i < DYNDEBUG_NFLAGS; i++)
*ptrs[i] = 1;
else {
for (i = 0; i < DYNDEBUG_NFLAGS; i++)
@@
-104,8
+111,11
@@
dyndebug_init()
fprintf(stderr, "Valid flags are:\n");
fprintf(stderr, " all ;enables all of the following:\n");
unsigned i;
fprintf(stderr, "Valid flags are:\n");
fprintf(stderr, " all ;enables all of the following:\n");
unsigned i;
- for (i = 0; i < DYNDEBUG_NFLAGS; i++)
+ for (i = 0; i < DYNDEBUG_NFLAGS; i++) {
+ if (i == n_output_flags)
+ fprintf(stderr, "Additional options:\n");
fprintf(stderr, " %s\n", names[i]);
fprintf(stderr, " %s\n", names[i]);
+ }
}
}
}
}
@@
-118,6
+128,8
@@
dyndebug_init()
* be restored to its full win32 branch functionality, where output to a
* file or to the debugger can be selected at runtime. */
* be restored to its full win32 branch functionality, where output to a
* file or to the debugger can be selected at runtime. */
+void vodxprint_fun(const char *, va_list);
+
void
odxprint_fun(const char *fmt, ...)
{
void
odxprint_fun(const char *fmt, ...)
{