From patchwork Mon Nov 5 20:40:34 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: fix libgomp.c++/pr24455.C failures on darwin Date: Mon, 05 Nov 2012 10:40:34 -0000 From: Jack Howarth X-Patchwork-Id: 197305 Message-Id: <20121105204034.GA4020@bromo.med.uc.edu> To: gcc-patches@gcc.gnu.org Cc: mikestump@comcast.net, iain@codesourcery.com, rth@redhat.com, jakub@redhat.com Currently the following testcases are failing on x86_64-apple-darwin11/12... FAIL: libgomp.c++/pr24455.C -O0 (test for excess errors) WARNING: libgomp.c++/pr24455.C -O0 compilation failed to produce executable FAIL: libgomp.c++/pr24455.C -O1 (test for excess errors) WARNING: libgomp.c++/pr24455.C -O1 compilation failed to produce executable FAIL: libgomp.c++/pr24455.C -O2 (test for excess errors) WARNING: libgomp.c++/pr24455.C -O2 compilation failed to produce executable FAIL: libgomp.c++/pr24455.C -O3 -fomit-frame-pointer (test for excess errors) WARNING: libgomp.c++/pr24455.C -O3 -fomit-frame-pointer compilation failed to produce executable FAIL: libgomp.c++/pr24455.C -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) WARNING: libgomp.c++/pr24455.C -O3 -fomit-frame-pointer -funroll-loops compilation failed to produce executable FAIL: libgomp.c++/pr24455.C -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) WARNING: libgomp.c++/pr24455.C -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions compilation failed to produce executable FAIL: libgomp.c++/pr24455.C -O3 -g (test for excess errors) WARNING: libgomp.c++/pr24455.C -O3 -g compilation failed to produce executable FAIL: libgomp.c++/pr24455.C -Os (test for excess errors) WARNING: libgomp.c++/pr24455.C -Os compilation failed to produce executable FAIL: libgomp.c++/tls-init1.C -O (test for excess errors) WARNING: libgomp.c++/tls-init1.C -O compilation failed to produce executable These can be fixed for darwin by passing -Wl,-undefined,dynamic_lookup on dg-options as has been recommended by the darwin linker maintainer. Note that this should work for Xcode 3.2.6 and Xcode 4.4.1 and later. Between Xcode 4.2 and 4.4.0, radr://10466868, "-undefined dynamic_lookup linker bug", broke weak symbol dynamic lookup in the linker. Tested on x86_64-apple-darwin12. Okay for gcc trunk? Jack libgomp/ 2012-11-05 Jack Howarth * testsuite/libgomp.c++/pr24455.C: Use -Wl,-undefined,dynamic_lookup on darwin. Index: libgomp/testsuite/libgomp.c++/pr24455.C =================================================================== --- libgomp/testsuite/libgomp.c++/pr24455.C (revision 193168) +++ libgomp/testsuite/libgomp.c++/pr24455.C (working copy) @@ -1,6 +1,7 @@ // { dg-do run } // { dg-additional-sources pr24455-1.C } // { dg-require-effective-target tls_runtime } +// { dg-options "-Wl,-undefined,dynamic_lookup" { target *-*-darwin* } } extern "C" void abort (void);