12.07.2015 Views

The ARM-THUMB Procedure Call Standard

The ARM-THUMB Procedure Call Standard

The ARM-THUMB Procedure Call Standard

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>The</strong> <strong>ARM</strong>-<strong>THUMB</strong> <strong>Procedure</strong> <strong>Call</strong> <strong>Standard</strong>5.3 Read-write position-independence— PID 175.3.1 Position-independent data addressing 175.3.2 RWPI defined 175.4 Re-entrant code 175.5 Shared libraries 185.6 <strong>The</strong> shared-library data-addressing architecture 185.7 Stack limit checking 195.8 Chunked stacks 206 STACK UNWINDING 216.1.1 Background 216.1.2 What this standard defines 216.2 Allowed alternatives for unwinding 216.2.1 Basic routine shape 226.2.2 <strong>The</strong> stack-moves-once condition 226.2.3 Unwinding a fixed size activation record by interpreting an entry sequence 226.2.4 Unwinding a fixed size activation record by executing an exit sequence 236.2.5 Constraints on frame pointers 236.2.6 Unwinding an activation record using a frame pointer 246.3 <strong>The</strong> shape of routine entry 247 <strong>ARM</strong> C AND C++ CONVENTIONS 257.1 ANSI C and C++ argument passing conventions 257.2 Narrow arguments 267.3 Result return 267.3.1 Non-floating-point results 267.3.2 Floating-point results 267.3.3 Value-in-registers result return 277.4 __shared_library 278 RATIONALE FOR ATPCS VARIANTS 288.1 <strong>The</strong> base standard and its variants 288.2 <strong>ARM</strong> Shared Libraries 298.2.1 Basic static data addressing in a shared-library-using application 308.2.2 Exported data 308.2.3 Base-standard clients 308.3 Dynamically loaded libraries 31SWS ESPC 0002 A-05 Page 3 of 37

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!