AROS ABIv1

From www.evillabs.net
Revision as of 21:29, 1 August 2012 by Ezrec (talk | contribs) (Created page with "= Libraries = * The library basecall register must be: - Saved by the called function by the ABI of the architecture - Not a register that is used to hold arguments - Not ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Libraries

  • The library basecall register must be:
 - Saved by the called function by the ABI of the architecture
 - Not a register that is used to hold arguments
 - Not a scratch register
  • Regcall ABI (ie AROS_LH(...))
 - Library base passed in as an argument
 - Must not be (,...) varadic
 - Up to 14 arguments
  • SysV ABI
 - Library base passed in via the basecall register
 - On the library side, the register is saved in the
   task's taskstorage slot for this library.