diff options
author | Andy Wingo <wingo@pobox.com> | 2017-03-01 16:06:53 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2017-03-01 16:06:53 +0100 |
commit | 374b88580c388af1e96ff82cedd2b6f9a708580b (patch) | |
tree | 1ca5fd2e580c42c806d741fce0cf1450a385dd86 /module | |
parent | 77cfd7e4bfbf8271a5b75a62bbad3ce0bf79f209 (diff) |
Fix trap frame matching
* module/system/vm/traps.scm (program-last-ip): Actually return an
absolute IP. Fixes traps!
Diffstat (limited to 'module')
-rw-r--r-- | module/system/vm/traps.scm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/module/system/vm/traps.scm b/module/system/vm/traps.scm index db82a0ab9..c4861c925 100644 --- a/module/system/vm/traps.scm +++ b/module/system/vm/traps.scm @@ -110,7 +110,9 @@ ;; Returns an absolute IP. (define (program-last-ip prog) (let ((pdi (find-program-debug-info (program-code prog)))) - (and pdi (program-debug-info-size pdi)))) + (and pdi + (+ (program-debug-info-addr pdi) + (program-debug-info-size pdi))))) (define (frame-matcher proc) (let ((proc (if (struct? proc) |