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=