Skip to content
Snippets Groups Projects
  1. Feb 10, 2005
  2. Feb 09, 2005
  3. Feb 08, 2005
  4. Feb 07, 2005
  5. Feb 06, 2005
    • rtoy's avatar
      Bootstrap file for adding linkage-tables to the ppc/darwin port. Use · 8a981c6e
      rtoy authored
      the 2005-02 snapshot to bootstrap.
      8a981c6e
    • rtoy's avatar
      Initial support for linkage-tables on PPC/Darwin. This is a · 6a4fd3c3
      rtoy authored
      relatively straightforward port of the sparc version of
      linkage-tables.  Some refinements are probably still needed, as well
      as some testing.
      
      Use boot-2005-02-ppc-linkage.lisp to bootstrap this change from the
      2005-02 snapshot.
      
      * code/ppc-vm.lisp
        o Add appropriate FOREIGN-SYMBOL-ADDRESS-AUX and FIND-FOREIGN-SYMBOL
          functions for linkage-table.
      
      * compiler/generic/new-genesis.lisp
        o Basically do the same as the sparc port for linkage-tables.
        o need to extern-alien-name on the cold linkages since they C names
          depend on the backend conventions.
      
      * compiler/ppc/alloc.lisp
        o Load "undefined_tramp" appropriately for linkage-tables.
      
      * compiler/ppc/c-call.lisp
        o Define new vops (FOREIGN-SYMBOL-CODE-ADDRESS,
          FOREIGN-SYMBOL-DATA-ADDRESS) for linkage-tables so we can access
          correctly.
      
      * compiler/ppc/cell.lisp
        o Load "closure_tramp" appropriately for linkage-tables
        o Load "undefined_tramp" appropriately for linkage-tables
      
      * compiler/ppc/parms.lisp
        o Put the foreign linkage space start at the end of the static space
          to make it easier to bootstrap.  (We need already mapped memory.)
          We can move this later.
        o Correct TARGET-FOREIGN-LINKAGE-ENTRY-SIZE.
        o Add new static-symbol *linkage-table-data*
        o While were at it, add SPARE-9 and SPARE-0 static symbols so we
          have 10 spares.
      
      * lisp/Config.ppc_darwin
        o Add -DLINKAGE_TABLE to CFLAGS/ASFLAGS if we have linkage-table
          support.
      
      * lisp/Darwin-os.c
        o Add os_dlsym to support linkage-tables.  (This nees a little
          refactoring because we just copied the #defines for dlopen modes.)
      
      * lisp/os-common.c
        o The checking of the linkage tables that is done for sparc almost
          works for ppc, but not quite.  Implement one for ppc.
      
      * lisp/ppc-arch.c
        o Add PPC version of arch_make_jump_entry, arch_make_linkage_entry,
          arch_linkage_entry.
      
      * lisp/ppc-assem.S
        o Add lazy_resolve_linkage to support linkage-tables.  This needs
          some more work.
        o Add undefined_foreign_symbol_trap.  This probably needs work, and
          definitely needs testing.
      
      * lisp/ppc-validate.h
        o Define the start of the linkage space and size.
      6a4fd3c3
    • rtoy's avatar
      Temporarily disable recvfrom and friends on Darwin. · cdc21869
      rtoy authored
      cdc21869
    • rtoy's avatar
      Export COMPATIBLE-FUNCTION-TYPES-P for PPC. · c126db45
      rtoy authored
      c126db45
    • cshapiro's avatar
      Retire i586_bzero() in favor of memset(). The i586_bzero() routine is · a52d33fa
      cshapiro authored
      demonstrably slower than extant compiler intrinsics or C runtime
      memset() implementations for blocks of memory greater than or equal to
      an x86 VM page.
      a52d33fa
  6. Feb 04, 2005
  7. Feb 03, 2005
  8. Feb 02, 2005
  9. Feb 01, 2005
  10. Jan 31, 2005
  11. Jan 29, 2005
  12. Jan 27, 2005
  13. Jan 25, 2005
  14. Jan 13, 2005
  15. Jan 07, 2005
    • rtoy's avatar
      This function from the misc.492 test from ansi-tests: · 529a9ff2
      rtoy authored
      (defun fn-492 (r p1)
        (declare (optimize speed (safety 1))
      	   (type (simple-array (signed-byte 8) nil) r) (type (integer * 22050378) p1))
        (setf (aref r) (lognand (the (integer 19464371) p1) 2257))
        (values))
      
      confuses the compiler and causes (values) to be deleted, and also
      deletes the return from the function so we just run past the end into
      junk.
      
      I think it's caused by confusion in type derivation.  I changed the
      defoptimizer for %aset so it returns the specialized element-type of
      the array instead of the new-value.
      
      This is a workaround, not a solution.
      529a9ff2
  16. Jan 06, 2005
  17. Dec 24, 2004
    • rtoy's avatar
      From Helmut Eller, cmucl-imp, 2004-10-05: · 627128ba
      rtoy authored
          on Linux/x86, the Lisp signal handler for SIGSEGV overwrites the
          beginning of the control stack.
      
          For SIGSEGV we use an extra signal stack and when the signal isn't
          handled by the GC or by the stack overflow handler we call eventually
          call_into_lisp.  call_into_lisp tests whether the current stack
          pointer points to the normal control stack.  But the test fails
          because we use the extra signal stack, so call_into_lisp just sets the
          stack pointer to the beginning of the normal control stack. This is
          not much fun for debugging because the backtrace is truncated and it's
          also no longer possible to throw to the top-level-catcher because its
          frame was overwritten.
      
          I tried to fix that with the patch below.  The idea is to switch back
          to the normal stack before calling the Lisp handler.  The patch may
          not be very elegant but it is at least short  :) .
      627128ba
    • rtoy's avatar
      Export CALLBACK-FUNCALL and document it. · c2d59248
      rtoy authored
      c2d59248
Loading