← Back to index
|
Original Bugzilla link
Bug 22932 – -vasm: wrong registers shown for calls to C-style variadic functions
Status
NEW
Severity
normal
Priority
P3
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2022-03-25T12:31:40Z
Last change time
2024-12-13T19:21:41Z
Keywords
disassembler
Assigned to
No Owner
Creator
duser
Moved to GitHub: dmd#20073 →
Comments
Comment #0
by duser — 2022-03-25T12:31:40Z
import core.stdc.stdarg; extern(C) void fn(int, ...) {} void main() { fn(1, 2, 3, 4, 5); } -vasm output on 64-bit linux: _Dmain: 0000: 55 push RBP 0001: 48 8B EC mov RBP,RSP 0004: 41 B8 05 00 00 00 mov EAX,5 000a: B9 04 00 00 00 mov EAX,4 000f: BA 03 00 00 00 mov EAX,3 0014: BE 02 00 00 00 mov EAX,2 0019: BF 01 00 00 00 mov EAX,1 001e: 31 C0 xor EAX,EAX 0020: E8 00 00 00 00 call L0 0025: 31 C0 xor EAX,EAX 0027: 5D pop RBP 0028: C3 ret
Comment #1
by maxhaton — 2022-06-07T11:37:59Z
Why is this a bug exactly?
Comment #2
by robert.schadek — 2024-12-13T19:21:41Z
THIS ISSUE HAS BEEN MOVED TO GITHUB
https://github.com/dlang/dmd/issues/20073
DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB