aboutsummaryrefslogtreecommitdiffstats
path: root/include/unwind.h
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2010-09-30 03:09:35 +0000
committerDavid Xu <davidxu@FreeBSD.org>2010-09-30 03:09:35 +0000
commit0c8c77ad83d76361b5b9c7e8fec1dbaaecbbe645 (patch)
tree7f2b3895332c237340ea1545379931e5e7af2e66 /include/unwind.h
parent59d979dc5dacfe9a5957baae6db78f757cc2e618 (diff)
downloadsrc-0c8c77ad83d76361b5b9c7e8fec1dbaaecbbe645.tar.gz
src-0c8c77ad83d76361b5b9c7e8fec1dbaaecbbe645.zip
- Sizeof exception class type should always be 64-bit.
- Make some functions be visible to BSD source code.
Notes
Notes: svn path=/head/; revision=213289
Diffstat (limited to 'include/unwind.h')
-rw-r--r--include/unwind.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/unwind.h b/include/unwind.h
index c047121959b8..0119bbac4959 100644
--- a/include/unwind.h
+++ b/include/unwind.h
@@ -28,6 +28,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
#ifndef _UNWIND_H
#define _UNWIND_H
+#include <sys/_types.h>
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -76,7 +78,7 @@ typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn) (int, _Unwind_Action,
IA-64, while being more general. */
struct _Unwind_Exception
{
- unsigned long exception_class;
+ __int64_t exception_class;
_Unwind_Exception_Cleanup_Fn exception_cleanup;
unsigned long private_1;
unsigned long private_2;
@@ -95,7 +97,7 @@ extern void _Unwind_SetIP (struct _Unwind_Context *, unsigned long);
extern unsigned long _Unwind_GetLanguageSpecificData (struct _Unwind_Context*);
extern unsigned long _Unwind_GetRegionStart (struct _Unwind_Context *);
-#ifdef _GNU_SOURCE
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
/* Callback for _Unwind_Backtrace(). The backtrace stops immediately
if the callback returns any value other than _URC_NO_REASON. */
@@ -145,7 +147,7 @@ extern void *_Unwind_FindEnclosingFunction (void *);
/* See also Linux Standard Base Spec:
http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/libgcc-s.html */
-#endif /* _GNU_SOURCE */
+#endif /* _GNU_SOURCE || _BSD_SOURCE */
#ifdef __cplusplus
};