* config/t-libunwind: Mention unwind-c.c.
(SHLIB_LC): Overwrite the default-value from t-slibgcc-elf-ver
and mention -lunwind so that the resulting libgcc_s.so has
the necessary DT_NEEDED entry for libunwind.
* unwind-libunwind.c (_Unwind_GetCFA): Implement.
(_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
From-SVN: r73777
+2003-11-20 David Mosberger <davidm@hpl.hp.com>
+
+ * config/t-libunwind: Mention unwind-c.c.
+ (SHLIB_LC): Overwrite the default-value from t-slibgcc-elf-ver
+ and mention -lunwind so that the resulting libgcc_s.so has
+ the necessary DT_NEEDED entry for libunwind.
+
+ * unwind-libunwind.c (_Unwind_GetCFA): Implement.
+ (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
+
2003-11-20 Fariborz Jahanian <fjahanian@apple.com>
David Edelsohn <edelsohn@gnu.org>
-LIB2ADDEH = $(srcdir)/unwind-libunwind.c $(srcdir)/unwind-sjlj.c
+SHLIB_LC = -lunwind -lc
+LIB2ADDEH = $(srcdir)/unwind-libunwind.c $(srcdir)/unwind-sjlj.c \
+ $(srcdir)/unwind-c.c
_Unwind_Word
_Unwind_GetCFA (struct _Unwind_Context *context)
{
- /* ??? Is there any way to get this information? */
- return NULL;
-}
+ unw_word_t ret;
+
+ unw_get_reg (&context->cursor, UNW_IA64_SP, &ret);
+ return ret;
+}
/* Overwrite the saved value for register REG in CONTEXT with VAL. */
return NULL;
}
+#ifdef UNW_TARGET_IA64
+
+_Unwind_Word
+_Unwind_GetBSP (struct _Unwind_Context *context)
+{
+ unw_word_t ret;
+
+ unw_get_reg (&context->cursor, UNW_IA64_BSP, &ret);
+ return ret;
+}
+
+#endif
+
#include "unwind.inc"
#endif /* !__USING_SJLJ_EXCEPTIONS__ */