- Sep 17, 2008
-
-
rtoy authored
everywhere. This makes the cross-compile scripts look much more similiar and might allow us to extract the common bits out.
-
- Sep 16, 2008
-
-
rtoy authored
architectures, and only pass in the name, not the link-type, since there's only one link-type for the special symbols. o Always call INIT-FOREIGN-SYMBOL-TABLE to initialize the symbol table. (This only clears the hash-table.) o Clean up the section in LOOKUP-FOREIGN-SYMBOL for linkage-tables for sparc and ppc. Use backend-featurep to test for this, and don't lump it into the #-irix test case. This helps cross-compile do the right thing for sparc/ppc when doing a non-native cross-compile.
-
rtoy authored
UNIX-SYSINFO.
-
rtoy authored
-
rtoy authored
inlining with Sun C.
-
cshapiro authored
-
- Sep 13, 2008
- Sep 12, 2008
-
-
rtoy authored
o Generate values for REAL_LRA_SLOT, KNOWN_RETURN_P_SLOT, and BOGUS_LRA_CONSTANTS from the actual Lisp values. breakpoint.c: o Use the generated values above, if available. We leave suitable defaults for now, but they should probably be removed.
-
rtoy authored
a core file with the right addresses for undefined_tramp and closure_tramp. Only needed on Solaris and ppc.
-
rtoy authored
If the C code changes, genesis was storing undefined_tramp and closure_tramp with the addresses of the lisp used to build. But that wouldn't match the values of the lisp used to run, which would cause weird segfaults and core dumps. Hence, we need to load up lisp.nm so we can get the correct values for undefined_tramp and closure_tramp.
-
rtoy authored
-
- Sep 11, 2008
- Sep 10, 2008
-
-
rtoy authored
interrupt_maybe_gc.
-
rtoy authored
-
rtoy authored
disable GC before calling HANDLE-BREAKPOINT. We save the real LRA object to the Lisp stack, before calling HANDLE-BREAKPOINT. Afterwards, we load the LRA from the stack. Thus, if GC happened, the stack value will have changed appropriately, and we return to the correct place. compiler/ppc/parms.lisp: compiler/sparc/parms.lisp: o Don't need lisp::*gc-inhibit* to be a static symbol anymore so remove it. lisp/breakpoint.c: o Implement above idea in handle_function_end_breakpoint. o Add comments on the values of REAL_LRA_SLOT and friends. o Clean up compute_offsets for the x86 case which doesn't handle ppc or sparc anymore.
-
- Sep 09, 2008
-
-
rtoy authored
Config.sun4_solaris_gcc: o Note that gdb 6.8 handle signals correctly and can be used to debug cmucl. Config.sun4_solaris_sunc: o Add link to why we can't use inline with Sun Studio 11.
-
- Sep 08, 2008
-
-
rtoy authored
Solaris. The issue is that the siginfo_t is documented to be NULL sometimes on Solaris. Also, it appears that at most we only care about the si_code field of a siginfo_t, so we only fill in the si_code field when the siginfo_t parameter is not NULL. Otherwise use 0. (Carl suggested this solution.) Also, the Lisp signal handlers appear to ignore the siginfo_t argument anyway.
-
- Sep 07, 2008
- Sep 05, 2008
-
-
rtoy authored
compiler/sparc/parms.lisp: o Add lisp::*gc-inhibit* to list of static symbols. (No cross-compile needed because we used one of the spare static symbols. Full cycle of builds needed to progate the changes.) lisp/breakpoint.c: o Disable GC when calling HANDLE-BREAKPOINT. This is a temporary workaround to the issue where a GC occurring during HANDLE-BREAKPOINT can cause a segfault during tracing. GC moves the code object and/or bogus lra such that we don't know where we should return to.
-
rtoy authored
makes and lisp.a gets built before lisp. (From Jürgen Hötzel.)
-
rtoy authored
-
rtoy authored
at offset 0 error that happens on sparc. Still has the same segfault problem that sparc has.
-
- Sep 04, 2008
-
-
rtoy authored
about an unknown breakpoint at offset 0 when handling a function-end breakpoint. See the comment for compute_offset for an explanation. Note that this seems to fix that issue, but there is still the issue where a segfault will happen during tracing. It seems to happen if a GC occurs after the function end breakpoint has happened (compute_offset has already been called before GC happens), and trace has printed out the return value. Then a segfault happens. Due to some issues, this fix only works when compiled with gcc. Compiling with Sun c produces some segfaults somewhere such that we can't build cmucl at all. The bizarre part is that compute_offset is never called during a build because there are no breakpoints enabled during a normal build.
-
- Sep 02, 2008
- Aug 31, 2008
-
-
rtoy authored
random number state. This should give better random numbers since we initialize the state with 627 "truly" random values. Previously, only one word was used, which meant that the state vector really only had 32 bits of randomness.
-
- Aug 21, 2008
-
-
rtoy authored
-
- Aug 20, 2008
-
-
rtoy authored
(defun foo (x) (declare (type unsigned-byte x)) (logand x #xff)) It was returning unsigned-byte when the result should have a bounded type like (unsigned-byte 8). o Small optimization for %ldb deftransform: If the byte positiion is known to be 0, don't transform to (ash int 0), but just replace it with int.
-
- Aug 18, 2008
-
-
rtoy authored
compiler/x86/arith.lisp: o Define some new vops to handle modular arithmetic stuff when both args are signed but the result is unsigned (because of modular arithmetic).
-
rtoy authored
in a fixnum. Consider the case where x and y are fixnums in (logand (* x y) 255) The compiler knows the result must be 8 bits long, but we need to do modular arithmetic because the (* x y) can be longer than 32 bits. Thus, only skip the modular arithmetic stuff if both args are known to be fixnums.
-
- Aug 16, 2008
- Aug 15, 2008
-
-
rtoy authored
followed by lower case letters. This is needed to match what format ~:C produces. (Issue caught by ansi-tests.) Add a comment here so we don't forget.
-
- Aug 13, 2008
-
-
rtoy authored
modular arithmetic and is basically implemented in vm-tran.lisp.
-