mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 01:30:27 +02:00
Add runtime support for reading debug information from ELF
* module/Makefile.am: * module/system/vm/debug.scm: New module. * module/system/vm/elf.scm (elf-section-by-name): New helper. (elf-symbol-table-len): New helper. * test-suite/tests/rtl.test: Add test for finding debug info.
This commit is contained in:
parent
e78991aa36
commit
cb86cbd71d
4 changed files with 203 additions and 3 deletions
|
@ -18,7 +18,9 @@
|
|||
|
||||
(define-module (tests rtl)
|
||||
#:use-module (test-suite lib)
|
||||
#:use-module (system vm assembler))
|
||||
#:use-module (system vm assembler)
|
||||
#:use-module (system vm program)
|
||||
#:use-module (system vm debug))
|
||||
|
||||
(define-syntax-rule (assert-equal val expr)
|
||||
(let ((x val))
|
||||
|
@ -247,3 +249,22 @@
|
|||
(end-program)))))
|
||||
((make-top-incrementor))
|
||||
*top-val*))))
|
||||
|
||||
(with-test-prefix "debug contexts"
|
||||
(let ((return-3 (assemble-program
|
||||
'((begin-program return-3)
|
||||
(assert-nargs-ee/locals 0 1)
|
||||
(load-constant 0 3)
|
||||
(return 0)
|
||||
(end-program)))))
|
||||
(pass-if "program name"
|
||||
(and=> (find-program-debug-info (rtl-program-code return-3))
|
||||
(lambda (pdi)
|
||||
(equal? (program-debug-info-name pdi)
|
||||
'return-3))))
|
||||
|
||||
(pass-if "program address"
|
||||
(and=> (find-program-debug-info (rtl-program-code return-3))
|
||||
(lambda (pdi)
|
||||
(equal? (program-debug-info-addr pdi)
|
||||
(rtl-program-code return-3)))))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue