From: Eric Botcazou Date: Wed, 18 Aug 2010 21:07:29 +0000 (+0000) Subject: * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5. X-Git-Tag: releases/gcc-4.6.0~4946 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fbb12873f243b8e02582f77950d3a03d7453a0cc;p=thirdparty%2Fgcc.git * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5. From-SVN: r163352 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f0f418da0150..41a91f2033ed 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2010-08-18 Eric Botcazou + + * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5. + 2010-08-10 Robert Dewar * sem_ch8.adb, sem_ch8.ads: Change name Write_Scopes to ws. diff --git a/gcc/ada/tracebak.c b/gcc/ada/tracebak.c index 9e5366a78ccf..cd9693969c17 100644 --- a/gcc/ada/tracebak.c +++ b/gcc/ada/tracebak.c @@ -303,7 +303,14 @@ struct layout #define IS_BAD_PTR(ptr) 0 #endif +/* Starting with GCC 4.6, -fomit-frame-pointer is turned on by default for + 32-bit x86/Linux as well and DWARF 2 unwind tables are emitted instead. + See the x86-64 case below for the drawbacks with this approach. */ +#if defined (linux) && (__GNUC__ * 10 + __GNUC_MINOR__ > 45) +#define USE_GCC_UNWINDER +#else #define USE_GENERIC_UNWINDER +#endif struct layout {