Skip to content
  1. Sep 01, 2012
    • Raymond Toy's avatar
      Clean up RCS ids · eeab7066
      Raymond Toy authored
       * Get rid of the RCS Header stuff.  They're meaningless in git.
       * Add public domain comment to some of the files if the only comment
         was the RCS header.
      eeab7066
  2. Nov 04, 2011
  3. Sep 12, 2008
    • rtoy's avatar
      new-genesis.lisp: · 82fea31c
      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.
      82fea31c
  4. Sep 10, 2008
    • rtoy's avatar
      Change how we handle function end breakpoints for non-x86. We don't · 935f69d9
      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.
      935f69d9
  5. Sep 05, 2008
    • rtoy's avatar
      compiler/ppc/parms.lisp: · dbd8d943
      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.
      dbd8d943
    • rtoy's avatar
    • rtoy's avatar
      Use new compute_offset for ppc too. Fixes the same unknown breakpoint · 30ea81a1
      rtoy authored
      at offset 0 error that happens on sparc.  Still has the same segfault
      problem that sparc has.
      30ea81a1
  6. Sep 04, 2008
    • rtoy's avatar
      A fix for the error that causes di::handle-breakpoint to complain · 9283574a
      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.
      9283574a
  7. Jul 06, 2007
  8. Jan 01, 2007
  9. Sep 15, 2005
  10. Mar 19, 2005
  11. Mar 18, 2005
    • rtoy's avatar
      Port Helmut's trace/known-return to ppc. Fix some bugs along the way · cabad02a
      rtoy authored
      as well.
      
      lisp/breakpoint.c:
      o Enable function-end stuff in compute_offset for DARWIN too.
      o Lots of printf's so we can see what's happening on ppc since gdb is
        majorly broken there.
      
      lisp/ppc-assem.S:
      o Actually implement the function-end breakpoint template.  Basically
        copied the sparc version, with appropriate mods.
      
      lisp/ppc-arch.c:
      o Add TWLLEI_R0 macro to create the appropriate trap instructions that
        we need, and use as appropriate.
      o arch_install_breakpoint was actually broken and installed a twllgei
        instruction instead of twllei.
      o arch_do_displaced_inst was also broken.  It didn't install the
        after-break-point trap after the breakpoint trap.  And it also
        didn't continue running the code and returned instead.  That's
        wrong.
      o The trap_AfterBreakpoint case in sigill_handler was inserting the
        wrong instruction back.  (Probably too much copying of the sparc
        port.)
      cabad02a
  12. Mar 17, 2005
    • rtoy's avatar
      Implement tracing for the known-return convention. This is basically · 46a81e81
      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.
      46a81e81
  13. Jul 12, 2004
  14. Jul 07, 2004
  15. Oct 27, 2000
  16. Sep 05, 2000
  17. Apr 12, 2000
  18. Jan 25, 1998
  19. Jan 16, 1998
  20. Nov 25, 1997
  21. Oct 27, 1994
  22. Oct 24, 1994
  23. Jul 18, 1994
  24. Nov 08, 1993
  25. Jan 13, 1993
  26. Aug 19, 1992
  27. Jul 28, 1992