1. 27 Oct, 2014 1 commit
  2. 25 Oct, 2014 3 commits
    • Raymond Toy's avatar
      Support 64-bit time-t on NetBSD. · 088e156b
      Raymond Toy authored
      Fixes from Robert Swindells.
      088e156b
    • Raymond Toy's avatar
      Fix motifd text callback. · 9829658f
      Raymond Toy authored
      Merge fix from Richard Kreuter's clm-text-callback branch. This fixes an
      issue where text callbacks get nil. The test case is clm-young::numeric
      from Richard Kreuter.  Without this patch, running (clm-young::numeric)
      and entering digits and characters causes errors[1].  With this patch,
      digits can be entered, and non-digits are correctly rejected.
      
      [1] On linux. For whatever reason, this works on darwin/x86 even without
          this patch.
      9829658f
    • Raymond Toy's avatar
      Fix #84: motifd is 64-bit app. · 2dd94c9b
      Raymond Toy authored
      Merge Richard Kreuter's clm-oids branch to master.  This allows
      motifd to work even if motifd is a 64-bit app.  From Richard:
      
      ...the server passes out 32-bits of a pointer as external IDs for
      instances of a handful of types [1]. On a 64-bit machine, the instances'
      addresses might not fit in a 32-bit address, though.
      
      (In fact, on my FreeBSD/amd64 machine, when I run the example from the
      documentation, the first shell widget always gets created at
      create the second widget with the shell as parent crashes the server.)
      
      Seems like there are two options:
      
      A. Change the wire protocol to accomodate 64-bit integers.
      
      B. Synthesize 32-bit identifiers for instances of the offending types.
      
      Option B seems simpler....
      
      [It] suffices to run the example in the doc and the programs in
      INTERFACE.... Obvious problems in the current code:
      
      1. It's a doubly linked alist associating pointers with 32-bit integers.
      
      2. It looks like nothing ever gets removed from the alist....
      
      3. I'm not certain that I've caught all the places where motifd hands
         out pointers to Lisp.
      
      [1] I think the complete list is AcceleratorTable, Atom, FontList,
      TranslationTable, Widget, and sometimes XmString.
      2dd94c9b
  3. 19 Oct, 2014 3 commits
  4. 16 Oct, 2014 3 commits
    • Raymond Toy's avatar
      Fix compiler warning on ppc about &context->uc_mcontext->__es.__dar · b6f5f1f5
      Raymond Toy authored
      and __dsisr.
      
      __dar and __dsisr are declared to be type unsigned long, but on a
      32-bit system unsigned int and unsigned long are the same.
      b6f5f1f5
    • Raymond Toy's avatar
      Remove OS_LINK_FLAGS that were creating a CMUCLRO section. · c65697e5
      Raymond Toy authored
      They were commented out in 2004/10 so it's way past time to remove them.
      c65697e5
    • Raymond Toy's avatar
      Remove darwin-lispadjuster.c and ppc-darwin-dlshim.c · bcb27939
      Raymond Toy authored
      Use of ppc-darwin-dlshim.c was removed, but I forgot to remove the
      file.
      
      Use of darwin-lispadjuster.c has been commented out for a while, so
      I'm getting rid of it. It seems at one point it was needed to resize
      the CMUCLRO section in the lisp executable, but there is CMUCLRO
      section anymore.
      
      darwin-lispadjuster.c:
       * Deleted
      
      ppc-darwin-dlshim.c:
      
      Config.ppc_darwin:
       * Remove Make rule for adjustlisp and friends.
       * Remove old commented out version of OS_SRC; we don't use
         ppc-darwin-dlshim.c anymore.
      bcb27939
  5. 14 Oct, 2014 3 commits
  6. 11 Oct, 2014 7 commits
  7. 10 Oct, 2014 3 commits
    • Raymond Toy's avatar
    • Raymond Toy's avatar
      a1946b35
    • Raymond Toy's avatar
      Unify extern-alien-name for darwin x86 and ppc. · 571dd490
      Raymond Toy authored
      Initial attempt to unify extern-alien-name, primarily for darwin (x86
      and ppc). Thus, systems using elf do not prepend an underscore, but
      other systems are assumed to prepend an underscore.
      
      This is currently only for darwin/x86.  A cross-compile on darwin x86
      is needed.
      
       * code/x86-vm.lisp:
         * For elf systems, don't prepend an underscore.  For other systems,
           do prepend.
       * compiler/generic/new-genesis.lisp:
         * Fix long-standing bug where we should call EXTERN-ALIEN-NAME to
           get the right name for "resolve_linkage_tramp".
       * lisp/Darwin-os.c:
         * Update os_dlsym to assume the external name is always preceded by
           an underscore.  The lookup for dlysm is done by stripping off the
           leading underscore.
       * lisp/os-common.c:
         * Add EXTERN_ALIEN_NAME macro to create the correct alien name for
           elf and non-elf systems.
         * Use it to generate the correct name to be used for comparison in
           the sanity checks of the linkage table entries.
      571dd490
  8. 09 Oct, 2014 2 commits
    • Raymond Toy's avatar
      First cut at removing ppc-darwin-dlshim.c. Not needed anymore because · 57711cc2
      Raymond Toy authored
      dlsym works on OSX/ppc like on other ports.
      
      A cross-compile was used with cross-ppc-ppc-darwin.lisp.  I'm not sure
      a cross-compile is required, though.
      
       * code/ppc-vm.lisp:
         * EXTERN-ALIEN-NAME doesn't need to prepend an underscore anymore. 
       * lisp/Config.ppc_darwin:
         * Don't compile/link ppc-darwin-dlshim.c.
       * lisp/os-common.c:
         * Don't prepend underscore for call_into_lisp.
       * tools/cross-scripts/cross-ppc-ppc-darwin.lisp:
         * EXTERN-ALIEN-NAME doesn't need to prepend an underscore anymore.
      57711cc2
    • Raymond Toy's avatar
      Fix issue with negative value for lisp::cycles-per-tick. · 2c1badef
      Raymond Toy authored
      This causes negative cpu cyles with TIME. Basic issue is that a cpu
      frequency of 2.3 GHZ won't fit in an int. Use an unsigned int.
      
      We also take this opportunity to use a rounded value for
      clocks-per-tick instead of truncating.  For this particular case the
      ratio is actual 68.99 which would truncated to 68. We should probably
      use 69 instead.
      2c1badef
  9. 07 Oct, 2014 2 commits
  10. 04 Oct, 2014 3 commits
  11. 02 Oct, 2014 5 commits
    • Raymond Toy's avatar
      Micro-optimize SCALE-FLOAT to use multiplication when possible. · 8f5f6abc
      Raymond Toy authored
      If the exponent (second arg of SCALE-FLOAT) is such that 2^exponent
      can be represented as a float (single or double), we can implement
      SCALE-FLOAT using a multiplication by 2^exponent, since multiplication
      by 2^exponent is exact.
      
       * src/compiler/float-tran.lisp:
         * Update deftransforms for SCALE-FLOAT to do a multiply when
           possible. 
       * tests/float-tran.lisp:
         * Add tests to make sure the deftransforms for SCALE-FLOAT are
           applied appropriately.
      8f5f6abc
    • Raymond Toy's avatar
      Add FAST-ASH-C/FIXNUM=>SIGNED vop. · 3ff38ffa
      Raymond Toy authored
      This allows the compiler to shift a fixnum to a signed-reg without
      first converting the fixnum to a signed-reg, saving a shift.
      3ff38ffa
    • Raymond Toy's avatar
      Editorial fixes. · 227e5085
      Raymond Toy authored
       * Remove [In progress]
       * Rephrase some items.
       * Fix typos.
      227e5085
    • Raymond Toy's avatar
      Fix regression in %ENUMERATE-DIRECTORIES. · 8329e1d5
      Raymond Toy authored
      Previously (18a at least), %ENUMERATE-DIRECTORIES would return a path
      even if a directory element did not exist.  This behavior is restored.
      
      See email from cmucl-help, Sep 26, 2014.
      
       * src/code/filesys.lisp:
         * Fix regression.in %ENUMERATE-DIRECTORIES.  Even if the directory
           does not exist, we continue recursing instead of stopping.
       * src/general-info/release-20f.txt:
         * Update
       * tests/filesys.lisp:
         * New file adding tests for UNIX-NAMESTRING.
      8329e1d5
    • Raymond Toy's avatar
      Fix regression in %ENUMERATE-DIRECTORIES. · 2f316750
      Raymond Toy authored
      Previously (18a at least), %ENUMERATE-DIRECTORIES would return a path
      even if a directory element did not exist.  This behavior is restored.
      
      See email from cmucl-help, Sep 26, 2014.
      
       * src/code/filesys.lisp:
         * Fix regression.in %ENUMERATE-DIRECTORIES.  Even if the directory
           does not exist, we continue recursing instead of stopping.
       * src/general-info/release-20f.txt:
         * Update
       * tests/filesys.lisp:
         * New file adding tests for UNIX-NAMESTRING.
      2f316750
  12. 01 Oct, 2014 4 commits
  13. 28 Sep, 2014 1 commit