Jump to content

Red zone (computing)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by IznoRepeat (talk | contribs) at 15:39, 5 July 2020 (replace soft-deprecated editors parameter, rm ref=harv as applic., gen fixes, misc cite cleaning). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computing, a red zone is a fixed-size area in a function's stack frame beyond the current stack pointer which is not preserved by that function. The callee function may use the red zone for storing local variables without the extra overhead of modifying the stack pointer. This region of memory is not to be modified by interrupt/exception/signal handlers. The x86-64 ABI used by System V mandates a 128-byte red zone,[1][2] which begins directly under the current value of the stack pointer. The OpenRISC toolchain assumes a 128-byte red zone.[3]

Notes and references

  1. ^ Michael Matz; Jan Hubička; Andreas Jaeger; et al., eds. (2018-01-28). "System V Application Binary Interface: AMD64 Architecture Processor Supplement (With LP64 and ILP32 Programming Models) Version 1.0" (PDF). 1.0.
  2. ^ "i386 and x86-64 Options - Using the GNU Compiler Collection (GCC)". Retrieved 2011-04-10.
  3. ^ "OpenCores Wiki - OpenRISC GNU toolchain". Retrieved 2014-05-28.