NetBSD/sys/arch/m68k/include
kamil 847996952c Introduce _UC_MACHINE_FP() as a macro
_UC_MACHINE_FP() is a helper macro to extract from mcontext a frame pointer.

Don't rely on this interface as a compiler might strip frame pointer or
optimize it making this interface unreliable.


For hppa assume a small frame context, for larger frames FP might be located
in a different register (4 instead of 3).

For ia64 there is no strict frame pointer, and registers might rotate.
Reuse 79 following:

  ./gcc/config/ia64/ia64.h:#define HARD_FRAME_POINTER_REGNUM  LOC_REG (79)

Once ia64 will mature, this should be revisited.

A macro can encapsulate a real function for extracting Frame Pointer on
more complex CPUs / ABIs.


For the remaining CPUs, reuse standard register as defined in appropriate ABI.

The direct users of this macro are LLVM and GCC with Sanitizers.

Proposed on tech-userlevel@.

Sponsored by <The NetBSD Foundation>
2018-02-15 15:53:56 +00:00
..
Makefile
ansi.h
aout_machdep.h
asm.h
asm_single.h
bswap.h
bus_dma.h
byte_swap.h
cacheops.h
cacheops_20.h
cacheops_30.h
cacheops_40.h
cacheops_60.h
cdefs.h
cpu.h
cpuframe.h
db_machdep.h
elf_machdep.h
endian.h
endian_machdep.h
fenv.h
float.h
fpreg.h
frame.h
ieee.h
ieeefp.h
int_const.h
int_fmtio.h
int_limits.h
int_mwgwtypes.h
int_types.h
kcore.h
limits.h
lock.h
m68k.h
math.h
mcontext.h Introduce _UC_MACHINE_FP() as a macro 2018-02-15 15:53:56 +00:00
mutex.h
param.h
pcb.h
pmap_coldfire.h
pmap_motorola.h
pmc.h
proc.h
profile.h
psl.h
pte_coldfire.h
pte_motorola.h
ptrace.h
reg.h
rwlock.h
setjmp.h
signal.h
sunos_machdep.h
svr4_machdep.h
sync_icache.h
sysctl.h
trap.h
types.h
wchar_limits.h