[libc] Add stack-checking alloca for GCC/IA16 #2124
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds stack-overflow checking
alloca
to GCC/IA16 for ELKS. This allows alloca to be safely used in ia16-elf-gcc projects without fear of stack overflow. Some tools in 8086-toolchain will be updated after this is committed.This version of alloca will check for protected stack remaining for the allocation, and if there isn't enough, the message "ALLOCA FAIL, INCREASE STACK" will be displayed, and alloca will return NULL.
Similar to #2123.
Next steps will be to provide standard stack overflow checking in every function call as well as malloc, for both GCC/IA16 and OWC. This will help developers writing more complex programs, such as those in 8086-toolchain, to know when the stack or heap areas are too small, instead of the application just crashing.