From 47a96e3a4df02ce609f76768e36ccf800420157e Mon Sep 17 00:00:00 2001 From: joerg Date: Mon, 24 Mar 2014 21:26:01 +0000 Subject: [PATCH] _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. --- external/gpl3/gcc/dist/gcc/ginclude/unwind-arm-common.h | 4 ++-- external/gpl3/gcc/dist/libgcc/config/arm/pr-support.c | 2 +- external/gpl3/gcc/dist/libgcc/config/c6x/pr-support.c | 2 +- external/gpl3/gcc/dist/libgcc/config/cr16/unwind-cr16.c | 2 +- external/gpl3/gcc/dist/libgcc/config/ia64/unwind-ia64.c | 2 +- .../gpl3/gcc/dist/libgcc/config/xtensa/unwind-dw2-xtensa.c | 2 +- external/gpl3/gcc/dist/libgcc/unwind-compat.c | 4 ++-- external/gpl3/gcc/dist/libgcc/unwind-dw2.c | 2 +- external/gpl3/gcc/dist/libgcc/unwind-generic.h | 2 +- external/gpl3/gcc/dist/libgcc/unwind-seh.c | 4 ++-- external/gpl3/gcc/dist/libgcc/unwind-sjlj.c | 2 +- lib/libexecinfo/unwind.c | 4 ++-- lib/libexecinfo/unwind.h | 4 ++-- 13 files changed, 18 insertions(+), 18 deletions(-) diff --git a/external/gpl3/gcc/dist/gcc/ginclude/unwind-arm-common.h b/external/gpl3/gcc/dist/gcc/ginclude/unwind-arm-common.h index 9db8af4565ec..95a19edb6738 100644 --- a/external/gpl3/gcc/dist/gcc/ginclude/unwind-arm-common.h +++ b/external/gpl3/gcc/dist/gcc/ginclude/unwind-arm-common.h @@ -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 diff --git a/external/gpl3/gcc/dist/libgcc/config/arm/pr-support.c b/external/gpl3/gcc/dist/libgcc/config/arm/pr-support.c index 7d245e962433..b26d0e89e291 100644 --- a/external/gpl3/gcc/dist/libgcc/config/arm/pr-support.c +++ b/external/gpl3/gcc/dist/libgcc/config/arm/pr-support.c @@ -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; diff --git a/external/gpl3/gcc/dist/libgcc/config/c6x/pr-support.c b/external/gpl3/gcc/dist/libgcc/config/c6x/pr-support.c index 865adea72f9f..a91cfb4fd112 100644 --- a/external/gpl3/gcc/dist/libgcc/config/c6x/pr-support.c +++ b/external/gpl3/gcc/dist/libgcc/config/c6x/pr-support.c @@ -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; diff --git a/external/gpl3/gcc/dist/libgcc/config/cr16/unwind-cr16.c b/external/gpl3/gcc/dist/libgcc/config/cr16/unwind-cr16.c index 3a7227ae9eb1..6d0482275488 100644 --- a/external/gpl3/gcc/dist/libgcc/config/cr16/unwind-cr16.c +++ b/external/gpl3/gcc/dist/libgcc/config/cr16/unwind-cr16.c @@ -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; diff --git a/external/gpl3/gcc/dist/libgcc/config/ia64/unwind-ia64.c b/external/gpl3/gcc/dist/libgcc/config/ia64/unwind-ia64.c index beae6ab18193..3600ab17f6c2 100644 --- a/external/gpl3/gcc/dist/libgcc/config/ia64/unwind-ia64.c +++ b/external/gpl3/gcc/dist/libgcc/config/ia64/unwind-ia64.c @@ -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; diff --git a/external/gpl3/gcc/dist/libgcc/config/xtensa/unwind-dw2-xtensa.c b/external/gpl3/gcc/dist/libgcc/config/xtensa/unwind-dw2-xtensa.c index cd02a2cdb1de..713acb190e90 100644 --- a/external/gpl3/gcc/dist/libgcc/config/xtensa/unwind-dw2-xtensa.c +++ b/external/gpl3/gcc/dist/libgcc/config/xtensa/unwind-dw2-xtensa.c @@ -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; diff --git a/external/gpl3/gcc/dist/libgcc/unwind-compat.c b/external/gpl3/gcc/dist/libgcc/unwind-compat.c index ebefbcd59195..918399f93940 100644 --- a/external/gpl3/gcc/dist/libgcc/unwind-compat.c +++ b/external/gpl3/gcc/dist/libgcc/unwind-compat.c @@ -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); diff --git a/external/gpl3/gcc/dist/libgcc/unwind-dw2.c b/external/gpl3/gcc/dist/libgcc/unwind-dw2.c index 041f9d5c3f06..47a8fb9611a7 100644 --- a/external/gpl3/gcc/dist/libgcc/unwind-dw2.c +++ b/external/gpl3/gcc/dist/libgcc/unwind-dw2.c @@ -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; diff --git a/external/gpl3/gcc/dist/libgcc/unwind-generic.h b/external/gpl3/gcc/dist/libgcc/unwind-generic.h index b8d78b9554e4..4bbe6ff4879c 100644 --- a/external/gpl3/gcc/dist/libgcc/unwind-generic.h +++ b/external/gpl3/gcc/dist/libgcc/unwind-generic.h @@ -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 *); diff --git a/external/gpl3/gcc/dist/libgcc/unwind-seh.c b/external/gpl3/gcc/dist/libgcc/unwind-seh.c index 9fd5e850da67..cc86c740e42e 100644 --- a/external/gpl3/gcc/dist/libgcc/unwind-seh.c +++ b/external/gpl3/gcc/dist/libgcc/unwind-seh.c @@ -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; } diff --git a/external/gpl3/gcc/dist/libgcc/unwind-sjlj.c b/external/gpl3/gcc/dist/libgcc/unwind-sjlj.c index 340eb79857a6..de04c42499d7 100644 --- a/external/gpl3/gcc/dist/libgcc/unwind-sjlj.c +++ b/external/gpl3/gcc/dist/libgcc/unwind-sjlj.c @@ -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; diff --git a/lib/libexecinfo/unwind.c b/lib/libexecinfo/unwind.c index b9b785ff6021..f2a27cef0bea 100644 --- a/lib/libexecinfo/unwind.c +++ b/lib/libexecinfo/unwind.c @@ -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; } diff --git a/lib/libexecinfo/unwind.h b/lib/libexecinfo/unwind.h index c9978b3d5df5..a423cb46c0de 100644 --- a/lib/libexecinfo/unwind.h +++ b/lib/libexecinfo/unwind.h @@ -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 *);