diff --git a/module/system/vm/elf.scm b/module/system/vm/elf.scm index 74d668792..b618761ad 100644 --- a/module/system/vm/elf.scm +++ b/module/system/vm/elf.scm @@ -93,7 +93,7 @@ elf-symbol-info elf-symbol-other elf-symbol-shndx elf-symbol-binding elf-symbol-type elf-symbol-visibility - elf-symbol-len write-elf-symbol + elf-symbol-len elf-symbol-value-offset write-elf-symbol SHN_UNDEF @@ -876,6 +876,12 @@ ((8) 24) (else (error "bad word size" word-size)))) +(define (elf-symbol-value-offset word-size) + (case word-size + ((4) 4) + ((8) 8) + (else (error "bad word size" word-size)))) + (define (parse-elf32-symbol bv offset stroff byte-order) (if (<= (+ offset 16) (bytevector-length bv)) (make-elf-symbol (let ((name (bytevector-u32-ref bv offset byte-order)))