From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30784 invoked by alias); 27 Mar 2014 19:57:53 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 30761 invoked by uid 48); 27 Mar 2014 19:57:50 -0000 From: "fabian@ritter-vogt.de" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/60691] New: Build fails in libstdc++ with --enable-sjlj-exceptions on ARM Date: Thu, 27 Mar 2014 19:57:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.8.2 X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: fabian@ritter-vogt.de X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-03/txt/msg02532.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60691 Bug ID: 60691 Summary: Build fails in libstdc++ with --enable-sjlj-exceptions on ARM Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: fabian@ritter-vogt.de Created attachment 32468 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32468&action=edit Assembly produced if gcc invoked manually I try to compile gcc with sjlj exceptions enabled, however, the build fails at libstdc++. It's probably a gcc bug but it triggers an assertion in gas as well. GCC command: /opt/nspire/Ndless/ndless-sdk/toolchain/build/./gcc/xgcc -shared-libgcc -B/opt/nspire/Ndless/ndless-sdk/toolchain/build/./gcc -nostdinc++ -L/opt/nspire/Ndless/ndless-sdk/toolchain/build/arm-none-eabi/libstdc++-v3/src -L/opt/nspire/Ndless/ndless-sdk/toolchain/build/arm-none-eabi/libstdc++-v3/src/.libs -B/opt/nspire/Ndless/ndless-sdk/toolchain/install/arm-none-eabi/bin/ -B/opt/nspire/Ndless/ndless-sdk/toolchain/install/arm-none-eabi/lib/ -isystem /opt/nspire/Ndless/ndless-sdk/toolchain/install/arm-none-eabi/include -isystem /opt/nspire/Ndless/ndless-sdk/toolchain/install/arm-none-eabi/sys-include -I/opt/nspire/Ndless/ndless-sdk/toolchain/gcc-4.8.2/libstdc++-v3/../libgcc -I/opt/nspire/Ndless/ndless-sdk/toolchain/build/arm-none-eabi/libstdc++-v3/include/arm-none-eabi -I/opt/nspire/Ndless/ndless-sdk/toolchain/build/arm-none-eabi/libstdc++-v3/include -I/opt/nspire/Ndless/ndless-sdk/toolchain/gcc-4.8.2/libstdc++-v3/libsupc++ -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=eh_alloc.lo -mcpu=arm926ej-s -fpic -mlong-calls -c ../../../../gcc-4.8.2/libstdc++-v3/libsupc++/eh_alloc.cc -o eh_alloc.o Output: /tmp/cc6EsAB0.s: Assembler messages: /tmp/cc6EsAB0.s:320: Error: missing .fnstart before unwinding directive /tmp/cc6EsAB0.s:320: Error: duplicate .personality directive /tmp/cc6EsAB0.s:321: Error: missing .fnstart before unwinding directive /tmp/cc6EsAB0.s:321: Internal error! Assertion failure in create_unwind_entry at ../../binutils-2.24/gas/config/tc-arm.c line 20915. Please report this bug. Sadly I can't give the commands gcc executes as this doesn't happen if I execute the command manually. Probably other environment vars set in the GCC Makefile. I attached the .s file gcc gives me with -s if I execute it manually, maybe it's helpful. GCC configure options: --target=arm-none-eabi --prefix=$PREFIX --enable-interwork --disable-multilib --enable-languages="c,c++" --enable-sjlj-exceptions --with-system-zlib --with-newlib --disable-shared --with-gnu-as --with-gnu-ld --with-float=soft --disable-werror binutils configure options: --target=arm-none-eabi --prefix=$PREFIX --enable-interwork --disable-multilib --with-system-zlib --with-gnu-as --with-gnu-ld --disable-nls --with-float=soft --disable-werror I run make with CXXFLAGS_FOR_TARGET="-mcpu=arm926ej-s -fpic -mlong-calls"