lkml.org 
[lkml]   [2003]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[OT] caller-save/callee-save register styles
I would like to know various people's experiences about the caller-save 
and callee-save style of preserving register values across procedure
calls. I feel that the ABI specification should specify that but I was
unable to figure that out in the ELF-ABI specification.
What I have personally seen is only callee-save style in which the
modified registers are PUSHed on the stack on entering the function and
POPed on leaving the function. That means the caller can assume that all
the regsiter values will be same just before and after the 'call'
instruction.
Can we assume one of these styles when writing assembly code that has to
be linked with C code generated by the compiler or do we have to first
ensure the style that the compiler follows and then use that.
Comments on how other ABIs do it are highly welcome, though I am
particularly interested about the ELF-ABI and x86 arch.

Thanx,
tomar

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.043 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site