Initial checkin for stack protectors. Here's what it does:
* The prologue is modified to read the __stack_chk_guard global and insert it onto the stack.
* The epilogue is modified to read the sto
Initial checkin for stack protectors. Here's what it does:
* The prologue is modified to read the __stack_chk_guard global and insert it onto the stack.
* The epilogue is modified to read the stored guard from the stack and compare it to the original __stack_chk_guard value. If they differ, then the __stack_chk_fail() function is called.
* The stack protector needs to be first on the stack (after the parameters) to catch any stack-smashing activities.
Front-end support will follow after a round of beta testing.
llvm-svn: 58673
show more ...
|