Mac OS X: make updated frameowrk paths a multiple of 8

Needed for code-signing (on 64-bit builds, at least)
This commit is contained in:
Matthew Flatt 2013-10-19 06:57:44 -06:00
parent 7be22af350
commit 64b1b1037e

View File

@ -27,11 +27,11 @@
(define (round-up-page v) (define (round-up-page v)
(bitwise-and #xFFFFF000 (+ v #xFFF))) (bitwise-and #xFFFFF000 (+ v #xFFF)))
(define (mult-of-4 n) (define (mult-of-8 n)
(let ([m (modulo n 4)]) (let ([m (modulo n 8)])
(if (zero? m) (if (zero? m)
n n
(+ n (- 4 m))))) (+ n (- 8 m)))))
(define move-link-edit? #t) (define move-link-edit? #t)
@ -365,7 +365,7 @@
[segname (car (regexp-match #rx#"^[^\0]*" segname))]) [segname (car (regexp-match #rx#"^[^\0]*" segname))])
(if (regexp-match rx segname) (if (regexp-match rx segname)
(let* ([newnamelen (and out (let* ([newnamelen (and out
(mult-of-4 (+ 1 (bytes-length new-path))))] (mult-of-8 (+ 1 (bytes-length new-path))))]
[delta (if out [delta (if out
(- newnamelen namelen) (- newnamelen namelen)
0)]) 0)])