mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-16 16:50:21 +02:00
,xx for RTL images
* module/scripts/disassemble.scm (disassemble): * module/system/vm/disassembler.scm (disassemble-file): Factor disassemble-file out. * module/system/repl/command.scm (disassemble-file): Map ,xx to disassemble RTL images.
This commit is contained in:
parent
610295ec9d
commit
93009a7aca
3 changed files with 12 additions and 11 deletions
|
@ -27,20 +27,12 @@
|
|||
;;; Code:
|
||||
|
||||
(define-module (scripts disassemble)
|
||||
#:use-module (system vm objcode)
|
||||
#:use-module (system vm program)
|
||||
#:use-module (system vm disassembler)
|
||||
#:use-module ((language assembly disassemble)
|
||||
#:renamer (symbol-prefix-proc 'asm:))
|
||||
#:export (disassemble))
|
||||
|
||||
(define %summary "Disassemble a compiled .go file.")
|
||||
|
||||
(define (disassemble . files)
|
||||
(for-each (lambda (file)
|
||||
(let* ((thunk (load-thunk-from-file file))
|
||||
(elf (find-mapped-elf-image (rtl-program-code thunk))))
|
||||
(disassemble-image elf)))
|
||||
files))
|
||||
(for-each disassemble-file files))
|
||||
|
||||
(define main disassemble)
|
||||
|
|
|
@ -487,6 +487,9 @@ Run the optimizer on a piece of code and print the result."
|
|||
(define (disassemble-program x)
|
||||
((@ (system vm disassembler) disassemble-program) x))
|
||||
|
||||
(define (disassemble-file x)
|
||||
((@ (system vm disassembler) disassemble-file) x))
|
||||
|
||||
(define-meta-command (disassemble repl (form))
|
||||
"disassemble EXP
|
||||
Disassemble a compiled procedure."
|
||||
|
@ -503,7 +506,7 @@ Disassemble a compiled procedure."
|
|||
(define-meta-command (disassemble-file repl file)
|
||||
"disassemble-file FILE
|
||||
Disassemble a file."
|
||||
(guile:disassemble (load-thunk-from-file (->string file))))
|
||||
(disassemble-file (->string file)))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
|
@ -32,7 +32,8 @@
|
|||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-4)
|
||||
#:export (disassemble-program
|
||||
disassemble-image))
|
||||
disassemble-image
|
||||
disassemble-file))
|
||||
|
||||
(define-syntax-rule (u32-ref buf n)
|
||||
(bytevector-u32-native-ref buf (* n 4)))
|
||||
|
@ -357,3 +358,8 @@ address of that offset."
|
|||
ctx)
|
||||
(display "\n\n" port)))))
|
||||
(values))
|
||||
|
||||
(define (disassemble-file file)
|
||||
(let* ((thunk (load-thunk-from-file file))
|
||||
(elf (find-mapped-elf-image (rtl-program-code thunk))))
|
||||
(disassemble-image elf)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue