crt*.S should be given a closer look #1

Open
opened 2021-11-11 17:51:05 +00:00 by auravulpes · 0 comments
Owner

As written, they just take the amd64 versions from OS Dev Wiki and rewrite any 64-bit registers to 32-bit ones. But is that right? Like, we push edi and esi onto the stack then pop later, but, apparently, in i386 SysV calling convention, edi and esi are preserved, unlike rdi and rsi in the amd64 calling convention. I'll need to come back to these.

As written, they just take the amd64 versions from OS Dev Wiki and rewrite any 64-bit registers to 32-bit ones. But is that right? Like, we push edi and esi onto the stack then pop later, but, apparently, in i386 SysV calling convention, edi and esi are preserved, unlike rdi and rsi in the amd64 calling convention. I'll need to come back to these.
auravulpes added the
question
label 2021-11-11 17:51:14 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: auravulpes/FENIX_libc#1
No description provided.