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. Nov 02, 2009
    • rtoy's avatar
      Revert previous changes. They were supposed to go on · d01310f2
      rtoy authored
      amd64-dd-branch.
      d01310f2
    • rtoy's avatar
      This large checkin brings the amd64 port up-to-date with the current · 2bafb654
      rtoy authored
      sources.  No real attempt has been made to make it work, but the
      cross-compile does create a kernel.core, and the C code compiles (on
      openSuSE 10.3).  The resulting kernel.core does not yet work.
      
      Use cross-x86-amd64.lisp as the cross-compile script.  This is
      intended to be cross-compiled using the 20a release for Linux, and
      only supports x87.  The sse2 support has not be ported yet.
      
      tools/cross-scripts/cross-x86-amd64.lisp:
      o Update cross-compile with some missing constants, and frob new
        symbols.
      
      tools/clean-target.sh:
      o Remove amd64f files too.
      
      code/pred.lisp:
      o Define predicates for double-doubles for bootstrapping to work
        around recursive known function problems with these predicates.
      
      code/sap.lisp:
      o Define int-sap with (unsigned-byte 64) type declaration.  (May not
        be needed?)
      
      code/unix-glibc2.lisp:
      o Build fails defining map_failed to (int-sap -1).  Just hard-wire to
        0 for now so we can build.
      
      compiler/float-tran.lisp:
      o Add missing conditional for %complex-double-double-float.
      
      compiler/amd64/float.lisp:
      o Merge double-double support for amd64.  Not really tested yet.
      
      compiler/amd64/parms.lisp:
      o Update to match x86 build.  In particular, get the space address
        correct and update the static symbols.
      
      compiler/amd64/type-vops.lisp:
      o DYLAN-FUNCTION-HEADER-TYPE no longer exists.
      
      compiler/amd64/vm.lisp:
      o Add double-double storage classes and register definitions.
      
      lisp/Config.amd64:
      o Bring in line with Config.x86 and friends.
      
      lisp/Linux-os.c:
      o Bring amd64 code up-to-date with x86/linux code.
      
      lisp/Linux-os.h
      o Need to include sys/ucontext.h to get ucontext defined.  (Why?)
      o Also define __USE_GNU so we get the register offsets in the ucontext
        defined.  (Why?)
      
      lisp/amd64-arch.c:
      o Change struct sigcontext to os_context_t.
      o Use SC_PC instead of context->sc_pc.
      o Merge some changes in from x86 version, like SC_EFLAGS.  May need
        more work.
      
      lisp/amd64-assem.s:
      o Use rbx instead of ebx for jmp.
      
      lisp/amd64-lispregs.h:
      o Define SC_REG, SC_PC, SC_SP using the new x86 style.
      
      lisp/backtrace.c:
      o Remove inline assembly for now until I figure out what the amd64
        version should be.
      
      lisp/gencgc.c:
      o Conditionalize out weak hash table support for now.
      
      lisp/gencgc.h:
      o Set PAGE_SIZE for amd64.  (Is 4096 right?)
      
      lisp/globals.h:
      o Export current_dynamic_space_free_pointer and
        current_auto_gc_trigger like for x86.
      2bafb654
  4. Dec 07, 2008
  5. Nov 12, 2008
  6. Mar 19, 2008
  7. Nov 16, 2007
  8. Sep 15, 2005
  9. Jun 22, 2004
  10. Jun 15, 2004
    • cwang's avatar
      · f70b71c6
      cwang authored
      Put in the right ifdef so it will compile without heap-overflow-check
      f70b71c6
  11. May 18, 2004
  12. Oct 24, 2003
    • toy's avatar
      Add support for x86 heap-overflow checking. · 10d10ac0
      toy authored
      	* x86-assem.S (multiple_value_return): Add new functions to handle
      	heap overflow warnings and errors.
      
      	* x86-arch.c (sigtrap_handler): Add cases for the two new heap
      	overflow traps.
      
      	* interrupt.c (interrupt_handle_space_overflow): Add support for
      	x86.
      
      	* parms.lisp (static-symbols): Add new static symbols for heap
      	overflow checking.  Add new trap types for heap overflow
      	checking.
      10d10ac0
  13. Nov 02, 2002
  14. Aug 28, 2002
    • pmai's avatar
      A number of smallish changes to the new linkage-table code: · cf055d22
      pmai authored
      o Conditionalized some code that is only used in linkage-table builds
        on :linkage-table and LINKAGE_TABLE respectively.
      o Modernized undefined_ff_tramp based on recent changes, and renamed
        it to undefined_foreign_symbol_trap, because it really isn't a
        trampoline.
      o Conditionalized a stray puts(...,dlerror()) in Linux-os.c on DEBUG
      o Installed an error reporter for UNDEFINED_FOREIGN_SYMBOL_ERROR,
        which for now signals a simple-program-error.  We might want to
        introduced a new condition UNDEFINED-FOREIGN-SYMBOL or something,
        which could also be used by the old foreign linkage code.
      cf055d22
  15. Aug 27, 2002
    • moore's avatar
      · bf84be07
      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.
      bf84be07
  16. Jan 28, 2002
    • pmai's avatar
      Added specialised port to NetBSD (1.5.2) on x86. Since the code-base · 4ea11535
      pmai authored
      was already cleaned up with the OpenBSD port, this doesn't require
      massive changes.
      
      Since current NetBSD is ELF-based by default, we don't make use of the
      ELF feature, or in other words:  The presence of the NetBSD feature
      implies ELF, since there is no support for non-ELF NetBSD.
      4ea11535
  17. Dec 06, 2001
    • pmai's avatar
      Added specialised port to OpenBSD (2.9). Many parts of the original · 195461c1
      pmai authored
      code which were previously conditionalized on :FreeBSD, are now
      conditionalized on :BSD instead, with the :BSD feature now implying a
      4.4BSD(lite2) derived OS.  This should make future BSD-ports easier.
      FreeBSD and OpenBSD are differentiated by having either :FreeBSD or
      :OpenBSD on the features list.
      
      Currently the OpenBSD port does not have working ELF support, because
      OpenBSD 2.9 is still non-ELF by default.  So don't put ELF on the
      features list when building for OpenBSD, or fix the code to work
      correctly in this case instead.
      195461c1
  18. Oct 27, 2000
  19. Oct 21, 2000
  20. Sep 05, 2000
  21. Nov 11, 1999
  22. Feb 19, 1998
  23. Nov 30, 1997
  24. Nov 25, 1997
  25. Nov 21, 1997
  26. Nov 18, 1997
  27. Nov 04, 1997
    • dtc's avatar
      Merge in changes to the x86 backend from the gencgc branch, allowing · 725ab9ee
      dtc authored
      common binaries to be run on both:
      
      * The immediate-stack storage class has been removed, this is
      unnecessary as the descriptor-stack SC can be used. It may have once
      been part of some GC stragety to reduce the number of stack slots that
      needed to be noted for a GC.
      
      * The object allocation has been abstracted and cleaned up. This
      should produce slightly faster smaller code with CGC, and can be
      compiled to support inline allocation with GENCGC.  CGC compiled code
      will run under GENCGC, and GENCGC binaries that don't use inline
      allocation will run under CGC.
      
      * A random hash is now placed in the unused symbol object slot (the
      symbol-hash slot). This saves flushing the info cache at each GC, and
      may have other uses for symbol based hash tables. Should help MP
      safety.
      
      * Common set of static symbols used by both CGC and GENCGC.
      
      * Corrections to the stack-ref VOP; now returns lisp objects not
      unsigned numbers. Required some patches to debug-int.
      
      * Inline unsigned/signed byte 32 to bignum allocation enabled.
      
      * Support for the x86 xadd instruction applied to instance slot and
      symbol values - may be handy for some MP code.
      
      * Bump up the FASL file version from 1 to 2.
      725ab9ee
  28. Mar 10, 1997
  29. Jan 21, 1997