Changeset 15417


Ignore:
Timestamp:
Jun 30, 2012, 2:17:39 AM (7 years ago)
Author:
rme
Message:

Merge several bugfixes here to the appstore branch. In particular,
r15353 fixes a compiler bug that a few people have gotten bitten by.

Location:
branches/1.8-appstore/source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/1.8-appstore/source

  • branches/1.8-appstore/source/compiler/X86/x862.lisp

    r15317 r15417  
    74037403             (acode-p (setq form (acode-unwrapped-form form))))
    74047404    (let* ((offset (memspec-frame-address-offset ea)))
    7405       (unless (x862-register-for-frame-offset ea)
     7405      (unless (x862-register-for-frame-offset offset)
    74067406        (let* ((op (acode-operator form))
    74077407               (constant nil))
  • branches/1.8-appstore/source/compiler/nx1.lisp

    r15079 r15417  
    14271427             (while (setq fn (assq arg *nx-synonyms*))
    14281428               (setq arg (%cdr fn)))
     1429             (let* ((env *nx-lexical-environment*))
     1430                (unless (or (nx1-find-call-def arg env)
     1431                    (find-ftype-decl arg env)
     1432                    (eq arg *nx-global-function-name*))
     1433                  (nx1-whine :undefined-function arg)))
    14291434             (nx1-form context `(%function ',arg)))))
    14301435        ((setf-function-name-p arg)
     
    14751480             (setq symbol (cadr sym))
    14761481             (symbolp symbol))
    1477       (let ((env *nx-lexical-environment*))
    1478         (unless (or (nx1-find-call-def symbol env)
    1479                     (find-ftype-decl symbol env)
    1480                     (eq symbol *nx-global-function-name*))
    1481           (nx1-whine :undefined-function symbol))
    1482         (make-acode (%nx1-default-operator) symbol))
     1482      (make-acode (%nx1-default-operator) symbol)
    14831483      (make-acode (%nx1-operator call) (nx1-immediate context '%function) (list nil (list sym))))))
    14841484
  • branches/1.8-appstore/source/level-0/l0-cfm-support.lisp

    r15086 r15417  
    711711          (when (%simple-string= name shlibname 0 0 namelen shlibnamelen)
    712712            (unless (shlib.base lib)
    713               (setf (shlib.base lib) addr
    714                     (shlib.soname lib) (soname-from-mach-header addr)))
     713              (setf (shlib.base lib) addr)
     714              (let* ((soname  (soname-from-mach-header addr)))
     715                (when soname
     716                  (setf (shlib.soname lib) soname))))
    715717            (return lib))))))))
    716718
     
    746748           (nameptr (ff-call *dyld-get-image-name* :unsigned-fullword i :address))
    747749           (name (%get-cstring nameptr ))
    748            (lib (%cons-shlib (soname-from-mach-header addr) name nil addr)))
     750           (lib (%cons-shlib (or (soname-from-mach-header addr) name) name nil addr)))
    749751      (setf (shlib.handle lib)
    750752            (ff-call *dlopen-entry* :address nameptr :unsigned-fullword (logior #$RTLD_GLOBAL #$RTLD_NOLOAD)))
  • branches/1.8-appstore/source/level-1/l1-lisp-threads.lisp

    r15155 r15417  
    5757            (if (and (< result 0)
    5858                     (eql (%get-errno) (- #$EINTR)))
    59               ;; x86-64 Leopard bug.
    60               (let* ((asec (pref aptr :timespec.tv_sec))
    61                      (bsec (pref bptr :timespec.tv_sec)))
    62                 (if (and (>= bsec 0)
    63                          (or (< bsec asec)
    64                              (and (= bsec asec)
    65                                   (< (pref bptr :timespec.tv_nsec)
    66                                      (pref aptr :timespec.tv_nsec)))))
    67                   (psetq aptr bptr bptr aptr)
    68                   (return)))
     59              (psetq aptr bptr bptr aptr)
    6960              (return))))))))
    7061
Note: See TracChangeset for help on using the changeset viewer.