lkml.org 
[lkml]   [2003]   [Sep]   [8]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 7 Sep 2003 23:54:59 +0530 (IST)
FromNagendra Singh Tomar <>
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    [from the cache]
©2003-2008