mach-o: fix linkedit vm length when ad hoc signing
This commit is contained in:
parent
0e4f57f44c
commit
585f9d8201
|
@ -492,8 +492,12 @@
|
||||||
(write-ulong padded-size out) ; data offset
|
(write-ulong padded-size out) ; data offset
|
||||||
(write-ulong data-size out)
|
(write-ulong data-size out)
|
||||||
;; Update LINKEDIT length:
|
;; Update LINKEDIT length:
|
||||||
(file-position out (+ link-edit-pos 8 16 (* 3 (if link-edit-64? 8 4))))
|
(let ([file-pos (+ link-edit-pos 8 16 (* 1 (if link-edit-64? 8 4)))]
|
||||||
((if link-edit-64? write-xulong write-ulong) (+ link-edit-len data-size (- padded-size orig-size)) out)
|
[len (+ link-edit-len data-size (- padded-size orig-size))])
|
||||||
|
(file-position out file-pos)
|
||||||
|
((if link-edit-64? write-xulong write-ulong) (round-up-page len) out) ; vm-len
|
||||||
|
(file-position out (+ file-pos (* 2 (if link-edit-64? 8 4))))
|
||||||
|
((if link-edit-64? write-xulong write-ulong) len out))
|
||||||
;; Add padding:
|
;; Add padding:
|
||||||
(file-position out orig-size)
|
(file-position out orig-size)
|
||||||
(write-bytes (make-bytes (- padded-size orig-size) 0) out)
|
(write-bytes (make-bytes (- padded-size orig-size) 0) out)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user