From patchwork Tue Oct 2 17:48:47 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2,libbacktrace] : Compile with -funwind-tables From: Uros Bizjak X-Patchwork-Id: 188591 Message-Id: To: Gabriel Dos Reis Cc: Jakub Jelinek , Ian Lance Taylor , Andreas Schwab , gcc-patches@gcc.gnu.org Date: Tue, 2 Oct 2012 19:48:47 +0200 On Tue, Oct 2, 2012 at 7:44 PM, Gabriel Dos Reis 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=