On Tue, Oct 2, 2012 at 7:44 PM, Gabriel Dos Reis
<g...@integrable-solutions.net> wrote:

>>> > On a related issue, it looks to me that the compiler itself should be
>>> > compiled with -funwind-tables, otherwise there are no backtraces
>>> > generated, even if libbacktrace is linked in and operational. Again,
>>> > x86_64-linux-gnu host defaults to this flag, but other hosts are left
>>> > behind.
>>>
>>> Compiling with C++ should always give us -funwind-tables.
>>
>> It doesn't give that, because the compiler is compiled with
>> -fno-exceptions -fno-rtti.
>
> I believe in the long term we would to drop either of those.

For the short term, I am bootstrapping attached patch, that adds
-funwind-tables to other noexcept flags.

Uros.
Index: configure
===================================================================
--- configure   (revision 191991)
+++ configure   (working copy)
@@ -6636,7 +6636,7 @@
 # Disable exceptions and RTTI if building with g++
 noexception_flags=
 save_CFLAGS="$CFLAGS"
-for real_option in -fno-exceptions -fno-rtti; do
+for real_option in -fno-exceptions -fno-rtti -funwind-tables; do
   # Do the check with the no- prefix removed since gcc silently
   # accepts any -Wno-* option on purpose
   case $real_option in
Index: configure.ac
===================================================================
--- configure.ac        (revision 191991)
+++ configure.ac        (working copy)
@@ -365,7 +365,8 @@
 
 # Disable exceptions and RTTI if building with g++
 ACX_PROG_CC_WARNING_OPTS(
-       m4_quote(m4_do([-fno-exceptions -fno-rtti])), [noexception_flags])
+       m4_quote(m4_do([-fno-exceptions -fno-rtti -funwind-tables])),
+                      [noexception_flags])
        
 # Enable expensive internal checks
 is_release=

Reply via email to