_Unwind_GetLanguageSpecificData is supposed to return a _Unwind_Ptr.

This makes a difference on M68K as it uses a different register for
integer vs pointer values.
This commit is contained in:
joerg 2014-03-24 21:26:01 +00:00
parent 0378fc4757
commit 47a96e3a4d
13 changed files with 18 additions and 18 deletions

View File

@ -183,7 +183,7 @@ extern "C" {
#define _Unwind_Exception _Unwind_Control_Block
typedef char _Unwind_Exception_Class[8];
void * _Unwind_GetLanguageSpecificData (_Unwind_Context *);
_Unwind_Ptr _Unwind_GetLanguageSpecificData (_Unwind_Context *);
_Unwind_Ptr _Unwind_GetRegionStart (_Unwind_Context *);
_Unwind_Ptr _Unwind_GetDataRelBase (_Unwind_Context *);
@ -234,7 +234,7 @@ extern "C" {
}
_Unwind_Ptr _Unwind_GetRegionStart (_Unwind_Context *);
void * _Unwind_GetLanguageSpecificData (_Unwind_Context *);
_Unwind_Ptr _Unwind_GetLanguageSpecificData (_Unwind_Context *);
/* leb128 type numbers have a potentially unlimited size.
The target of the following definitions of _sleb128_t and _uleb128_t

View File

@ -352,7 +352,7 @@ _Unwind_GetRegionStart (_Unwind_Context * context)
/* Find the Language specific exception data. */
void *
_Unwind_Ptr
_Unwind_GetLanguageSpecificData (_Unwind_Context * context)
{
_Unwind_Control_Block *ucbp;

View File

@ -518,7 +518,7 @@ _Unwind_GetRegionStart (_Unwind_Context *context)
return (_Unwind_Ptr) ucbp->pr_cache.fnstart;
}
void *
_Unwind_Ptr
_Unwind_GetLanguageSpecificData (_Unwind_Context *context)
{
_Unwind_Control_Block *ucbp;

View File

@ -347,7 +347,7 @@ _Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val)
context->ra = (void *) val;
}
void *
_Unwind_Ptr
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *context)
{
return context->lsda;

View File

@ -1715,7 +1715,7 @@ _Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val)
context->rp = val;
}
void *
_Unwind_Ptr
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *context)
{
return context->lsda;

View File

@ -172,7 +172,7 @@ _Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val)
context->ra = (void *) val;
}
void *
_Unwind_Ptr
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *context)
{
return context->lsda;

View File

@ -137,10 +137,10 @@ _Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn)
return __libunwind_Unwind_GetIP (context);
}
extern void *__libunwind_Unwind_GetLanguageSpecificData
extern _Unwind_Ptr __libunwind_Unwind_GetLanguageSpecificData
(struct _Unwind_Context *);
void *
_Unwind_Ptr
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *context)
{
return __libunwind_Unwind_GetLanguageSpecificData (context);

View File

@ -365,7 +365,7 @@ _Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val)
context->ra = (void *) val;
}
void *
_Unwind_Ptr
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *context)
{
return context->lsda;

View File

@ -177,7 +177,7 @@ extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr);
/* @@@ Retrieve the CFA of the given context. */
extern _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *);
extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *);
extern _Unwind_Ptr _Unwind_GetLanguageSpecificData (struct _Unwind_Context *);
extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *);

View File

@ -131,8 +131,8 @@ _Unwind_SetIP (struct _Unwind_Context *c, _Unwind_Ptr val)
c->ra = val;
}
void *
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *c)
_Unwind_Ptr
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *c
{
return c->disp->HandlerData;
}

View File

@ -231,7 +231,7 @@ _Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val)
context->fc->call_site = val - 1;
}
void *
_Unwind_Ptr
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *context)
{
return context->fc->lsda;

View File

@ -1,4 +1,4 @@
/* $NetBSD: unwind.c,v 1.1 2012/05/26 22:02:29 christos Exp $ */
/* $NetBSD: unwind.c,v 1.2 2014/03/24 21:26:01 joerg Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
@ -51,7 +51,7 @@ tracer(struct _Unwind_Context *ctx, void *arg)
return 0;
}
if (t->n < t->len)
t->arr[t->n++] = _Unwind_GetIP(ctx);
t->arr[t->n++] = (void *)_Unwind_GetIP(ctx);
return 0;
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: unwind.h,v 1.1 2012/05/26 22:02:29 christos Exp $ */
/* $NetBSD: unwind.h,v 1.2 2014/03/24 21:26:01 joerg Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
@ -54,7 +54,7 @@ _Unwind_Ptr _Unwind_GetDataRelBase(struct _Unwind_Context *);
_Unwind_Word _Unwind_GetGR(struct _Unwind_Context *, int);
_Unwind_Ptr _Unwind_GetIP(struct _Unwind_Context *);
_Unwind_Ptr _Unwind_GetIPInfo(struct _Unwind_Context *, int *);
void *_Unwind_GetLanguageSpecificData(
_Unwind_Ptr _Unwind_GetLanguageSpecificData(
struct _Unwind_Context *);
_Unwind_Ptr _Unwind_GetRegionStart(struct _Unwind_Context *);
_Unwind_Ptr _Unwind_GetTextRelBase(struct _Unwind_Context *);