From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15955 invoked by alias); 2 Aug 2013 08:11:48 -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 15868 invoked by uid 48); 2 Aug 2013 08:11:44 -0000 From: "freget at googlemail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/58056] New: ld segfaults when "-undefined dynamic_lookup" is set Date: Fri, 02 Aug 2013 08:11: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: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: freget at googlemail dot com 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: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-08/txt/msg00088.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D58056 Bug ID: 58056 Summary: ld segfaults when "-undefined dynamic_lookup" is set Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: freget at googlemail dot com Created attachment 30588 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=3D30588&action=3Dedit Object file causing the error I'm using g++ 4.8.1 on OS X with the following configuration: Ziel: x86_64-apple-darwin12.4.0 Konfiguriert mit: ../configure --build=3Dx86_64-apple-darwin12.4.0 --prefix=3D/usr/local/Cellar/gcc48/4.8.1/gcc --datarootdir=3D/usr/local/Cellar/gcc48/4.8.1/share --bindir=3D/usr/local/Cellar/gcc48/4.8.1/bin --enable-languages=3Dc,c++,fortran,java,objc,obj-c++ --program-suffix=3D-4.8 --with-gmp=3D/usr/local/opt/gmp --with-mpfr=3D/usr/local/opt/mpfr --with-mpc=3D/usr/local/opt/libmpc --with-cloog=3D/usr/local/opt/cloog --with-isl=3D/usr/local/opt/isl --with-system-zlib --enable-libstdcxx-time= =3Dyes --enable-stage1-checking --enable-checking=3Drelease --enable-lto --disable-werror --enable-plugin --with-ecj-jar=3D/usr/local/opt/ecj/share/java/ecj.jar --disable-multilib Thread-Modell: posix gcc-Version 4.8.1 (GCC)=20 Using the (faulty) object file attached, the following call causes a segfau= lt:=20 > g++-4.8 -std=3Dc++0x -g -dynamiclib -undefined dynamic_lookup -o outpu= t.dylib Notifications.cpp.o=20 collect2: Fehler: ld mit Signal 11 [Segmentation fault: 11] beendet However, once I link without "-undefined dynamic_lookup", I get a meaningful error description: > g++-4.8 -std=3Dc++0x -g -dynamiclib -o output.dylib Notifications.cpp.o= =20 Undefined symbols for architecture x86_64: "libsoda::(anonymous namespace)::CustomOutputBuffer::~CustomOutputBuffer(= )", referenced from: libsoda::(anonymous namespace)::CustomWarnBuffer::~CustomWarnBuffer()= in Notifications.cpp.o libsoda::(anonymous namespace)::CustomErrBuffer::~CustomErrBuffer() in Notifications.cpp.o libsoda::(anonymous namespace)::CustomPrintBuffer::~CustomPrintBuffer= () in Notifications.cpp.o "vtable for libsoda::(anonymous namespace)::CustomOutputBuffer", referenc= ed from: libsoda::(anonymous namespace)::CustomOutputBuffer::CustomOutputBuffer(unsigned long) in Notifications.cpp.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "_elog_finish", referenced from: libsoda::(anonymous namespace)::CustomPrintBuffer::printToUser(char*)= in Notifications.cpp.o libsoda::(anonymous namespace)::CustomErrBuffer::printToUser(char*) in Notifications.cpp.o libsoda::(anonymous namespace)::CustomWarnBuffer::printToUser(char*) = in Notifications.cpp.o libsoda::(anonymous namespace)::DefaultHandler(char const*, char cons= t*, char const*, int) in Notifications.cpp.o "_elog_start", referenced from: libsoda::(anonymous namespace)::CustomPrintBuffer::printToUser(char*)= in Notifications.cpp.o libsoda::(anonymous namespace)::CustomErrBuffer::printToUser(char*) in Notifications.cpp.o libsoda::(anonymous namespace)::CustomWarnBuffer::printToUser(char*) = in Notifications.cpp.o libsoda::(anonymous namespace)::DefaultHandler(char const*, char cons= t*, char const*, int) in Notifications.cpp.o ld: symbol(s) not found for architecture x86_64 collect2: Fehler: ld gab 1 als Ende-Status zur=C3=BCck This is something I can work with. Debugging with the only output beeing a segfault is not that easy.=20 Not that the example above was stripped down as much as possible and will n= ever compile successfully in this configuration. >>From gcc-bugs-return-427165-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Aug 02 08:25:58 2013 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 1581 invoked by alias); 2 Aug 2013 08:25:58 -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 Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 1464 invoked by uid 48); 2 Aug 2013 08:25:54 -0000 From: "ubizjak at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/58048] [4.8/4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90) Date: Fri, 02 Aug 2013 08:25:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 4.8.1 X-Bugzilla-Keywords: ice-on-valid-code, ra X-Bugzilla-Severity: normal X-Bugzilla-Who: ubizjak at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.2 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-08/txt/msg00089.txt.bz2 Content-length: 360 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D58048 --- Comment #4 from Uro=C5=A1 Bizjak --- (In reply to Marek Polacek from comment #3) > Note that with -O0: > d.c: In function =E2=80=98div3=E2=80=99: > d.c:102:3: error: inconsistent operand constraints in an =E2=80=98asm=E2= =80=99 Just replace 32 with 32.0 as the asm operand. >>From gcc-bugs-return-427166-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Aug 02 08:34:25 2013 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 14673 invoked by alias); 2 Aug 2013 08:34:25 -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 Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 14611 invoked by uid 48); 2 Aug 2013 08:34:23 -0000 From: "mpolacek at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/58048] [4.8/4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90) Date: Fri, 02 Aug 2013 08:34:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 4.8.1 X-Bugzilla-Keywords: ice-on-valid-code, ra X-Bugzilla-Severity: normal X-Bugzilla-Who: mpolacek at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.2 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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: 2013-08/txt/msg00090.txt.bz2 Content-length: 375 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58048 --- Comment #5 from Marek Polacek --- Right, thanks, but then the ICE doesn't occur, so this makes it pretty much ICE on invalid. Reduced nevertheless... void div3 (void) { double tmp1; asm volatile ("fscale":"=t" (tmp1):"0" (0), "u" (0)); } (with sed 's/(0/(0.0/g' the ICE's gone)