diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2007-05-10 21:20:02 +0000 |
---|---|---|
committer | Roman Zippel <zippel@gcc.gnu.org> | 2007-05-10 21:20:02 +0000 |
commit | e6fbf387cfb88e498691e6bc48ef1566b2556fff (patch) | |
tree | ff3c1cdffb8947b4d8e00aa22563d7ba4db63d9f /libffi/src | |
parent | b5296e520d6ffe92dc40e224b3ca521b817be00e (diff) | |
download | gcc-e6fbf387cfb88e498691e6bc48ef1566b2556fff.zip gcc-e6fbf387cfb88e498691e6bc48ef1566b2556fff.tar.gz gcc-e6fbf387cfb88e498691e6bc48ef1566b2556fff.tar.bz2 |
configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
* configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
* configure: Regenerate.
* fficonfig.h.in: Regenerate.
* src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
CFI_OFFSET,CFI_DEF_CFA): New macros.
(ffi_call_SYSV): Add callframe annotation.
From-SVN: r124600
Diffstat (limited to 'libffi/src')
-rw-r--r-- | libffi/src/m68k/sysv.S | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libffi/src/m68k/sysv.S b/libffi/src/m68k/sysv.S index efe5854..a3d9a4f 100644 --- a/libffi/src/m68k/sysv.S +++ b/libffi/src/m68k/sysv.S @@ -8,6 +8,18 @@ #include <fficonfig.h> #include <ffi.h> +#ifdef HAVE_AS_CFI_PSEUDO_OP +#define CFI_STARTPROC() .cfi_startproc +#define CFI_OFFSET(reg,off) .cfi_offset reg,off +#define CFI_DEF_CFA(reg,off) .cfi_def_cfa reg,off +#define CFI_ENDPROC() .cfi_endproc +#else +#define CFI_STARTPROC() +#define CFI_OFFSET(reg,off) +#define CFI_DEF_CFA(reg,off) +#define CFI_ENDPROC() +#endif + .text .globl ffi_call_SYSV @@ -15,8 +27,12 @@ .align 4 ffi_call_SYSV: + CFI_STARTPROC() link %fp,#0 + CFI_OFFSET(14,-8) + CFI_DEF_CFA(14,8) move.l %d2,-(%sp) + CFI_OFFSET(2,-12) | Make room for all of the new args. sub.l 12(%fp),%sp @@ -103,4 +119,5 @@ epilogue: move.l (%sp)+,%d2 unlk %fp rts + CFI_ENDPROC() .size ffi_call_SYSV,.-ffi_call_SYSV |