This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libgcc/56846] New: _Unwind_Backtrace on ARM and noexcept


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56846

             Bug #: 56846
           Summary: _Unwind_Backtrace on ARM and noexcept
    Classification: Unclassified
           Product: gcc
           Version: 4.7.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcc
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: npl@chello.at


I want to inquire about the feasibility of using _Unwind_Backtrace on ARM,
particularly in combination with the noexcept keyword.
Since the backtrace depends on the unwind information, it seems the
_Unwind_Backtrace breaks down when encountering "noexcept" functions.
Whats even worse is, that instead of just stopping, _Unwind_Backtrace will just
infinitely report the last context (unless the the callback tells to stop).

So there are two points I guess, first that the _Unwind_Backtrace should stop
when it cant proceed further instead of looping forever. I suppose thats a bug.

Then I`d ask if its somehow possible to still backtrace through noexcept
functions, perhaps with a compiler switch that still generates the necessary
unwind tables and/or manual adjustment to the personality routine. (gdb can
generate the traces... so I guess it must be possible)

I am using an arm-none-eabi toolchain, of version 4.7.2. 
----------------------------------------------------------------
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/opt/hipase-imx28-v0/libexec/gcc/arm-none-eabi/4.7.2/lto-wrapper
Target: arm-none-eabi
Configured with: /opt/hipase-imx28-v0/src/gcc-4.7.2/configure
--prefix=/opt/hipase-imx28-v0 --target=arm-none-eabi --enable-languages=c,c++
--disable-libstdcxx-verbose --disable-libmudflap --disable-libssp
--disable-libstdcxx-pch --enable-multilib --disable-shared --disable-nls
--with-system-zlib --enable-tls --enable-gold --with-gnu-as --with-gnu-ld
--enable-lto --with-newlib
--with-gmp=/home/tcbuild/toolchain-make/build/ggcnativebuild/gmp-5.0.5
--with-mpfr=/home/tcbuild/toolchain-make/build/ggcnativebuild/mpfr-3.1.1
--with-mpc=/home/tcbuild/toolchain-make/build/ggcnativebuild/mpc-1.0.1
--with-cloog=/home/tcbuild/toolchain-make/build/ggcnativebuild/cloog-ppl-0.15.11
--with-ppl=/home/tcbuild/toolchain-make/build/ggcnativebuild/ppl-0.11
--with-host-libstdcxx='-Wl,-Bstatic,/usr/lib/gcc/i486-linux-gnu/4.4.5/libstdc++.a,/usr/lib/gcc/i486-linux-gnu/4.4.5/libsupc++.a,-Bdynamic
-lm'
Thread model: single
gcc version 4.7.2 (GCC)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]