x86-64 register not being pretty-printed in dissasembly output

Bug #2046004 reported by Fedorov Alexander
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Unassigned

Bug Description

#S(SB-X86-64-ASM::REG :ID 0) vs RAX

On SBCL 2.3.11, linux, x86-64:
* (defun foo ())
FOO
* (defun bar () (foo))
BAR
* (disassemble 'bar)
; disassembly for BAR
; Size: 22 bytes. Origin: #x535D40FB ; BAR
; 0FB: 498B4510 MOV RAX, [R13+16] ; thread.binding-stack-pointer
; 0FF: 488945F8 MOV [RBP-8], RAX
; 103: 31C9 XOR ECX, ECX
; 105: FF7508 PUSH QWORD PTR [RBP+8]
; 108: B802602E50 MOV EAX, #x502E6002 ; #<FDEFN FOO>
; 10D: FFE0 JMP #S(SB-X86-64-ASM::REG :ID 0)
; 10F: CC10 INT3 16 ; Invalid argument count trap
NIL

Expected (as on SBCL 2.3.10, linux, x86-64
* (defun foo ())
FOO
* (defun bar () (foo))
BAR
* (disassemble 'bar)
; disassembly for BAR
; Size: 22 bytes. Origin: #x534CA0FB ; BAR
; 0FB: 498B4510 MOV RAX, [R13+16] ; thread.binding-stack-pointer
; 0FF: 488945F8 MOV [RBP-8], RAX
; 103: 31C9 XOR ECX, ECX
; 105: FF7508 PUSH QWORD PTR [RBP+8]
; 108: B802902D50 MOV EAX, #x502D9002 ; #<FDEFN FOO>
; 10D: FFE0 JMP RAX
; 10F: CC10 INT3 16 ; Invalid argument count trap
NIL

$ uname -a
Linux grolter-T16 6.2.0-37-generic #38-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 30 21:04:52 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

* *features*
(:ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :COMMON-LISP :ELF
 :IEEE-FLOATING-POINT :LINUX :LITTLE-ENDIAN :PACKAGE-LOCAL-NICKNAMES
 :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL
 :UNIX)

description: updated
Stas Boukarev (stassats)
Changed in sbcl:
status: New → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.