From: Dmitry Gorbachev Date: Mon, 7 Sep 2009 15:41:52 +0000 (+0000) Subject: re PR c++/41214 (Null pointer dereferenced in _Unwind_SetGR()) X-Git-Tag: releases/gcc-4.5.0~3643 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5b258a4c95ee45aae8fb7ec9f7ba81dc68addc2;p=thirdparty%2Fgcc.git re PR c++/41214 (Null pointer dereferenced in _Unwind_SetGR()) PR c++/41214 * unwind-dw2.c (uw_init_context_1): Mark noinline. * config/ia64/unwind-ia64.c (uw_init_context_1): Likewise. * config/xtensa/unwind-dw2-xtensa.c (uw_init_context_1): Likewise. From-SVN: r151482 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 20a5e68e59bd..7ad76cca43ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-09-06 Dmitry Gorbachev + + PR c++/41214 + * unwind-dw2.c (uw_init_context_1): Mark noinline. + * config/ia64/unwind-ia64.c (uw_init_context_1): Likewise. + * config/xtensa/unwind-dw2-xtensa.c (uw_init_context_1): Likewise. + 2009-09-07 Bernd Schmidt * config/bfin/bfin.c (bfin_optimize_loop): When creating a new basic diff --git a/gcc/config/ia64/unwind-ia64.c b/gcc/config/ia64/unwind-ia64.c index 34258588292e..f935a0ca3e47 100644 --- a/gcc/config/ia64/unwind-ia64.c +++ b/gcc/config/ia64/unwind-ia64.c @@ -2126,7 +2126,7 @@ uw_advance_context (struct _Unwind_Context *context, _Unwind_FrameState *fs) uw_init_context_1 (CONTEXT, __builtin_ia64_bsp ()); \ } while (0) -static void +static void __attribute__((noinline)) uw_init_context_1 (struct _Unwind_Context *context, void *bsp) { void *rp = __builtin_extract_return_addr (__builtin_return_address (0)); diff --git a/gcc/config/xtensa/unwind-dw2-xtensa.c b/gcc/config/xtensa/unwind-dw2-xtensa.c index e7ca86a10fb4..9544f65ab788 100644 --- a/gcc/config/xtensa/unwind-dw2-xtensa.c +++ b/gcc/config/xtensa/unwind-dw2-xtensa.c @@ -459,7 +459,7 @@ uw_advance_context (struct _Unwind_Context *context, _Unwind_FrameState *fs) } \ while (0) -static void +static void __attribute__((noinline)) uw_init_context_1 (struct _Unwind_Context *context, void *outer_cfa, void *outer_ra) { diff --git a/gcc/unwind-dw2.c b/gcc/unwind-dw2.c index 68a1a282b349..a86c21b7129b 100644 --- a/gcc/unwind-dw2.c +++ b/gcc/unwind-dw2.c @@ -1431,7 +1431,7 @@ init_dwarf_reg_size_table (void) __builtin_init_dwarf_reg_size_table (dwarf_reg_size_table); } -static void +static void __attribute__((noinline)) uw_init_context_1 (struct _Unwind_Context *context, void *outer_cfa, void *outer_ra) {