Skip to content
Snippets Groups Projects
  1. 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
  2. Jan 29, 2002
  3. Nov 29, 2001
  4. Feb 22, 2001
    • pw's avatar
      From Paul Foley · b221deeb
      pw authored
      A couple of typo corrections; fix main() in lisp.c (main returns int,
      not void!); stop ACCEPT-TCP-CONNECTION blocking other processes.
      b221deeb
  5. Oct 27, 2000
  6. Oct 24, 2000
  7. Oct 23, 2000
  8. Oct 16, 2000
  9. Sep 09, 1999
  10. Feb 20, 1999
    • pw's avatar
      Changes for Linux running on Alpha. · 25b808fb
      pw authored
      From: Julian Dolby <dolby@csag-226-8.UCSD.EDU>
      
        Enclosed below are diffs against the cvs repository as of Feb 12;
      aside from minor changes like using different include files
      (e.g. validate.h instead of x86-validate.h in Linux-os.c) and adding
      alpha-linux specifics unix-glibc2.lisp, there are two code changes.
      
       The first is to signal handling. I had to put the POSIX-SIGS
      ifdefs into places used by alpha but not by x86, and I ifdef'ed out
      most of the linux #define kludges for signals for alpha linux, since
      alpha linux uses OSF/1 signals rather than linux ones.
      
       The second is that the trick of or'ing 2 into the reg_ALLOC address
      to cause faults does not work on alpha linux since the kernel traps
      and handles the unaligned access; I did not find a way to change that
      kernel behavior, so I changed the code to or (1<<63) into the address
      to cause a seg fault, and then check, in the seg fault handler, to see
      if the high-order address bits are set.
      
       One change I made is to the memory layout (lisp/alpha-validate.h and
      compiler/alpha/parms.lisp); that change is not needed to make lisp run
      on alpha linux, but is there because I wanted more heap space.
      25b808fb
  11. Nov 21, 1997
  12. Nov 18, 1997
  13. Jan 21, 1997
  14. Nov 01, 1994
  15. Oct 25, 1994
  16. Oct 24, 1994
  17. Jul 05, 1994
  18. Mar 10, 1994
  19. Jan 28, 1994
  20. Apr 28, 1993
  21. Feb 09, 1993
  22. Jan 13, 1993
  23. Sep 08, 1992
  24. Jul 28, 1992
  25. May 25, 1992
  26. Apr 28, 1992
  27. Mar 22, 1992
  28. Mar 08, 1992
  29. Oct 22, 1991
  30. Sep 04, 1991
  31. May 24, 1991
  32. May 03, 1991
  33. Feb 16, 1991
  34. Oct 23, 1990
  35. Sep 21, 1990
Loading