]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 18 Aug 2010 21:07:29 +0000 (21:07 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 18 Aug 2010 21:07:29 +0000 (21:07 +0000)
From-SVN: r163352

gcc/ada/ChangeLog
gcc/ada/tracebak.c

index f0f418da01506ff0a33dcd5bdc4a6750fbb8ed7a..41a91f2033edfa8099383b4b06eb326fdb9a3c07 100644 (file)
@@ -1,3 +1,7 @@
+2010-08-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
+
 2010-08-10  Robert Dewar  <dewar@adacore.com>
 
        * sem_ch8.adb, sem_ch8.ads: Change name Write_Scopes to ws.
index 9e5366a78ccf9bda3aa8a0ca5aadbba23a74685f..cd9693969c17ff72b938133a3e822d2dc5049f6c 100644 (file)
@@ -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
 {