Stack alignment #58
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
BeRo1985/flre#58
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
FPC 3.3.1 (perhaps 3.2 as well) assumes the stack is 16-byte aligned
Without the alignment, it throws an runtime error "Stack overflow" when compiled with stack checking
-CtFor example:
This would fix that:
but it is probably too slow, and only changes two of the calls
Perhaps
lea esp, [esp - 12]is better?github.com/benibela/flre@fb1038d2a8or for better compatibly to older compilers:
or somewhat in this direction.
Which older compilers?
Compilers that do not know
lea? I just tried it in Delphi 4 and it knows itOr compilers that some other kind of alignment?