diff options
| author | Max Filippov <jcmvbkbc@gmail.com> | 2015-09-16 01:49:49 +0300 | 
|---|---|---|
| committer | Waldemar Brodkorb <wbx@openadk.org> | 2015-10-08 20:31:24 +0200 | 
| commit | e78a0f58f23347c822c182d1c01f6eb9b9866d60 (patch) | |
| tree | 723cfbcd2411d889fb4956adb7f2d11a6d766050 /libpthread/linuxthreads/sysdeps/pthread/tst-timer.c | |
| parent | 9fae2ad9937279c9f7f40975ac14cb7b57f4a36d (diff) | |
xtensa: support call0 ABI
Most changes are mechanical replacement of 'retw' instruction with
'abi_ret' macro, defined to 'retw' or 'ret' according to ABI.
Assembly code that makes calls is duplicated for call0 ABI with changed
register numbers for parameters/return value and call instruction.
'entry' instructions are replaced with 'abi_entry' macro.
More interesting changes:
- non-leaf assembly functions (e.g. _dl_tlsdesc_dynamic,
  _dl_linux_resolve, SYSCALL_ERROR_HANDLER, PSEUDO) now need to preserve
  registers around intermediate calls they make, use temporary stack
  frame for that;
- setjmp/longjmp only need to save and restore return address, stack
  pointer and callee-saved registers in the jmpbuf;
- __clone and syscall functions had hardcoded offsets to parameter
  passed on stack, on call0 ABI they don't need stack frame, so the
  offset is different. Replace these offsets with FRAMESIZE macro.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'libpthread/linuxthreads/sysdeps/pthread/tst-timer.c')
0 files changed, 0 insertions, 0 deletions
