- Oct 10, 2009
-
-
agoncharov authored
-
- Jun 11, 2009
-
-
rtoy authored
unicode-utf16-extfmt-2009-06-11.
-
- Dec 02, 2008
-
-
rtoy authored
valid on Darwin because the sigcontext structure is no longer defined in Lisp, so we can't check this way anymore. Hence, remove the code to clean things up a bit.
-
- Aug 16, 2008
-
-
rtoy authored
returning the fixed string on x86/darwin.
-
- Jan 03, 2008
-
-
cshapiro authored
code. Rather than introduce a new FreeBSD case to the x86 sigcontext member accessor routines, collapse all of the system specific routines down to a common set of routines. * code/debug-int.lisp - Disable some Darwin-specific code to debug NULL mcontext pointers. * code/float-trap.lisp - Remove ancient FreeBSD-specific code for handling floating point signals. * code/macros.lisp, code/sap.lisp, compiler/saptran.lisp - Include the SAP-REF-LONG setter by default on the x86. * code/x86-vm.lisp - Remove operating system specific sigcontext definitions and sigcontext accessors. Define the alien sigcontext as a system area pointer. Replace the sigcontext accessors with foreign function calls that mask the complexity of the underlying sigcontext member access. * compiler/x86/float.lisp - Unconditionally define STORE-LONG-FLOAT. This function is used by the %SET-SAP-REF-LONG VOP that underlies the SAP-REF-LONG setter. * compiler/x86/sap.lisp - Unconditionally define %SET-SAP-REF-LONG. In the case where there is not a distinct LONG-FLOAT type, admit DOUBLE-FLOAT values instead. The x87 automatically widens values pushed onto stack. This mirrors the behavior of the SAP-REF-LONG VOP. * lisp/Darwin-os.c, lisp/Linux-os.c - Define functions to access sigcontext members of interest to Lisp. Delete the sc_reg function and replace its uses with os_sigcontext_reg which is more suitably typed. * lisp/FreeBSD-os.c - Define functions to access sigcontext members of interest to Lisp. We need to be careful about the SSE and non-SSE cases for retrieving x87 registers from the saved machine state. Define a low-level SIGFPE handler to intercept floating point traps and restore the cleared status word bits based on the signal code. Get rid of sc_reg for the reasons noted above. * lisp/Darwin-os.h, lisp/FreeBSD-os.h - Declare the restore_fpu function and define a specialized RESTORE_FPU macro. Remove the sc_reg prototype. * lisp/Linux-os.h - Remove the sc_reg prototype. * lisp/os.h - Add prototypes for the new os_sigcontext functions. * lisp/x86-lispregs.h - Redefine SC_REG and SC_PC to expand out to the new os_sigcontext functions. Redfine SC_SP to expand out to SC_REG. Eliminate all platform-specific defintions of SC_PC and SC_SP.
-
- Dec 18, 2007
-
-
rtoy authored
check in for this condition in case it should appear again. Remove this at some later date if this doesn't happen anymore.
-
- Dec 15, 2007
-
-
rtoy authored
issues like why the mcontext slot is 0 in the sigcontext from a function end breakpoint. This works around that problem for now. lisp/x86-arch.c: o Add documentation on how arch_do_displaced_inst works. o Darwin has the eflags register in the sigcontext so use that to enable and disable single-stepping using the eflags slot. This is how Linux works too. This change makes function start breakpoints work. code/debug-int.lisp: o In FIND-ESCAPED-FRAME, make sure the mcontext slot is not null (0) before we try to grab the cfp slot from it. This works around an issue where the mcontext slot is 0 on Darwin. code/ntrace.lisp: o Make *TRACE-ENCAPSULATE-DEFAULT* be :default again.
-
- Oct 18, 2007
-
-
rtoy authored
don't do the hackish list-of-name to find local debug function anymore. This change allows us to retrace local functions when the function is redefined. code/debug-int.lisp: o Add :LOCAL-NAME keyword parameter to tell us to look for the local function within the given FUN. The bizarre hack using a list as the FUN to do this is now gone. code/ntrace.lisp: o Change TRACE-FDEFINITION to return a fourth value if the function is a local function. The fourth value is the name of the local function. o TRACE-1 recognizes the extra value from TRACE-FDEFINITION to determine if this is a local function that needs to be traced. Also, if DEFINITION is given, we process that carefully so we can trace the new definition with a local function. o UNTRACE-1 likewise updated to recognize and handle local functions. o TRACE-REFINED-UPDATE modified so that when a function is redefined, we retrace the function itself if it was traced (as before). But we also look through the traced functions to see if we need to retrace the local definitions in this new function.
-
- Oct 02, 2007
-
-
rtoy authored
o In MAYBE-CONVERT-TAIL-LOCAL-CALL, honor the notinline declaration when deciding if we can let convert a tail call. This is useful for tracing of local functions. code/debug-int.lisp: o If we can't find a debug function, print a note that the (local) function might have been inlined.
-
- Jul 06, 2007
-
-
cshapiro authored
-
- Mar 28, 2007
-
-
rtoy authored
o Fix extra paren for double-double-stack-sc-number case, and don't use with-nfp which doesn't exist on x86. o Add support for complex-double-double-stack-sc-number, which was missing for x86.
-
rtoy authored
double-double-stack-sc-number and complex-double-double-stack-sc-number. o The complex-double-double-stack-sc-number case was not computed the complex double-double correctly. Fix it.
-
- Mar 27, 2007
- Jun 30, 2006
-
-
rtoy authored
The merge is from the tag "double-double-irrat-end". The double-double branch is now obsolete. The code should build without double-double support (tested on sparc) as well as build with double-double support (tested also on sparc).
-
- Jan 23, 2006
-
-
rtoy authored
work and could probably be implemented better. With these changes (trace (labels foo bar)) will trace the labels function FOO in the function BAR. We only support encapsulate nil, here. No check is made for this. code/ntrace.lisp: o In TRACE-FDEFINITION, recognize a list as a valid function, and return the list as the value of TRACE-FDEFINITION. This seems wrong, but I'm not sure if there's a real fdefinition for it, or if we could create a fake one. code/debug-int.lisp: o In FUNCTION-DEBUG-FUNCTION, recognize a list as the name of a function, and find the corresponding compiled-debug-function and create and return the new compiled-debug-function.
-
- Mar 18, 2005
-
-
rtoy authored
-
- Mar 17, 2005
-
-
rtoy authored
Helmut Eller's patch sent to cmucl-imp on 2005-03-08. This basically means tracing recursive functions will show all recursions during the trace and not just the final call. code/debug-int.lisp: o Apply Helmut's patch. Tweak it so when the known-return convention is being used, we tell MAKE-BOGUS-LRA that we're using the known-return so we can handle it properly. lisp/breakpoint.c: o Add an extra parameter to compute_offset so we know we're handling a function-end breakpoint or not. Needed because reg_CODE isn't pointing to the bogus lra in this case, so the offsets are all wrong. We compute the right offset for the known return and return the offset as negative so we can tell. o Adjust all callers of compute_offset. o Adjust handle_function_end_breakpoint to handle negative offsets from compute_offset so we can get the right code component for the bogus lra.
-
- Nov 20, 2004
-
-
cwang authored
-
- Nov 19, 2004
-
-
cwang authored
-
- Nov 17, 2004
-
-
cwang authored
-
- Nov 16, 2004
-
-
cwang authored
-
- Oct 13, 2004
-
-
rtoy authored
through assembly functions a bit smarter. DEBUG-FUNCTION-FROM-PC modified so that it recognizes assembly routines and simply returns a BOGUS-DEBUG-FUNCTION in that case.
-
rtoy authored
no debug-variable information because that prevents the user from evaluating other stuff. Leave a warning in, but maybe we should remove this as well?
-
- Aug 30, 2004
-
-
rtoy authored
(debug-return). No bootstrap file or cross-compile needed. Return-from-frame only works when debug = 3.
-
- Aug 03, 2004
-
-
rtoy authored
-
- Jul 30, 2004
-
-
rtoy authored
o Export sigcontext-lr.
-
- Jul 29, 2004
-
-
rtoy authored
#C(0d0 0d0) failing a typecase. Then doing a backtrace gave another error about some negative number not being a positive fixnum. The former error is caused by a bad definition of undefined_tramp. The latter error is caused by the debugger not being able to compute the offset correctly. (Fixes ported from sbcl.)
-
- Jun 01, 2004
-
-
cwang authored
-
- Apr 01, 2004
-
-
rtoy authored
parse-compiled-debug-function-lambda-list fails for (di::debug-function-lambda-list (di::function-debug-function #'pcl::fix-early-generic-functions)) because it tries to nconc the supplied-p var to a deleted keyword arg.
-
- Nov 25, 2003
-
-
toy authored
the C function.
-
- Nov 21, 2003
-
-
toy authored
foreign functions in the backtrace. I slightly frobbed the order of the displayed info to display the function first. Suggestions welcome for a nicer arrangement.
-
- Aug 24, 2003
-
-
gerd authored
a special variable. Reported by Alexey Dejneka on cmucl-imp. This fixes the read case, but not the setq case. * src/code/debug-int.lisp (preprocess-for-eval): Don't symbol-macrolet special variables, let-bind them instead.
-
- Jul 21, 2003
-
-
gerd authored
can-set-function-end-breakpoint-p returns false. * src/code/debug-int.lisp (can-set-function-end-breakpoint-p): Return true of compiled-debug-function-returns is :standard.
-
- May 11, 2003
-
-
gerd authored
breakpoints can't be used. * src/code/ntrace.lisp (trace-1): Use can-set-function-end-breakpoint-p. * src/code/debug-int.lisp (can-set-function-end-breakpoint-p): New function.
-
- Apr 24, 2003
-
-
gerd authored
still valid..." message, which is unhelpful, and should have anyway not ever gone to standard output.
-
- Aug 27, 2002
-
-
moore authored
On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved. They now go through a table -- effectively a new space in the core file. Function references are resolved lazily, data references are resolved on startup and when a .so is loaded. The end result is that cores can be dumped that contain references to symbols in shared libraries. Also, the dependence of the core on addresses in the Lisp runtime is broken. The linkage table feature is controlled by :linkage-table and LINKAGE_TABLE in C runtime. Several foreign symbols are now Lisp static symbols, so a cross compile is required whether or not the new stuff is used. I've checked in boot4-cross-foreign-linkage.lisp that builds the compiler for linkage table; do whatever you usually do for the non-linkage table case:) Seriously, lets start a discussion on standardizing "cross compilation," not to mention the general build procedure.
-
- Mar 04, 2001
-
-
pw authored
-
- Nov 15, 2000
-
-
pw authored
for FreeBSD4.
-
- Nov 06, 2000
-
-
dtc authored
frame in preference to the C frame as this is frame of interest.
-