public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [committed] Fix libcc1 build on Darwin (PR target/65351)
@ 2015-04-07 10:04 Jakub Jelinek
  0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2015-04-07 10:04 UTC (permalink / raw)
  To: gcc-patches

Hi!

I've committed the following patch (which Iain tested - at least
libiberty part).  The issue is that while Darwin is PIC by default, for
performance reasons it uses -mdynamic-no-pic and that makes code compiled
that way not suitable for shared libraries.

Committed to trunk as obvious.

2015-04-07  Jakub Jelinek  <jakub@redhat.com>
	    Iain Sandoe  <iain@codesourcery.com>

	PR target/65351
config/
	* picflag.m4: Append -mno-dynamic-no-pic for Darwin.
libiberty/
	* configure: Regenerate.
libada/
	* configure: Regenerate.
libgcc/
	* configure: Regenerate.
gcc/
	* configure: Regenerate.

--- config/picflag.m4.jj	2013-11-18 09:59:08.000000000 +0100
+++ config/picflag.m4	2015-04-07 11:40:49.963566972 +0200
@@ -9,7 +9,9 @@ case "${$2}" in
     *-*-darwin*)
 	# PIC is the default on this platform
 	# Common symbols not allowed in MH_DYLIB files
-	$1=-fno-common
+	# Cancel any earlier -mdynamic-no-pic, as that makes
+	# the code not suitable for shared libraries.
+	$1='-fno-common -mno-dynamic-no-pic'
 	;;
     alpha*-dec-osf5*)
 	# PIC is the default.
--- libiberty/configure.jj	2014-11-24 10:26:27.000000000 +0100
+++ libiberty/configure	2015-04-07 11:41:43.075707899 +0200
@@ -4887,7 +4887,9 @@ case "${host}" in
     *-*-darwin*)
 	# PIC is the default on this platform
 	# Common symbols not allowed in MH_DYLIB files
-	PICFLAG=-fno-common
+	# Cancel any earlier -mdynamic-no-pic, as that makes
+	# the code not suitable for shared libraries.
+	PICFLAG='-fno-common -mno-dynamic-no-pic'
 	;;
     alpha*-dec-osf5*)
 	# PIC is the default.
--- libada/configure.jj	2015-01-05 13:40:49.000000000 +0100
+++ libada/configure	2015-04-07 11:42:44.517715744 +0200
@@ -2826,7 +2826,9 @@ case "${host}" in
     *-*-darwin*)
 	# PIC is the default on this platform
 	# Common symbols not allowed in MH_DYLIB files
-	PICFLAG=-fno-common
+	# Cancel any earlier -mdynamic-no-pic, as that makes
+	# the code not suitable for shared libraries.
+	PICFLAG='-fno-common -mno-dynamic-no-pic'
 	;;
     alpha*-dec-osf5*)
 	# PIC is the default.
--- libgcc/configure.jj	2015-03-09 08:05:17.000000000 +0100
+++ libgcc/configure	2015-04-07 11:42:30.927935072 +0200
@@ -2305,7 +2305,9 @@ case "${host}" in
     *-*-darwin*)
 	# PIC is the default on this platform
 	# Common symbols not allowed in MH_DYLIB files
-	PICFLAG=-fno-common
+	# Cancel any earlier -mdynamic-no-pic, as that makes
+	# the code not suitable for shared libraries.
+	PICFLAG='-fno-common -mno-dynamic-no-pic'
 	;;
     alpha*-dec-osf5*)
 	# PIC is the default.
--- gcc/configure.jj	2015-03-11 20:17:47.000000000 +0100
+++ gcc/configure	2015-04-07 11:42:11.266252397 +0200
@@ -4788,7 +4788,9 @@ case "${target}" in
     *-*-darwin*)
 	# PIC is the default on this platform
 	# Common symbols not allowed in MH_DYLIB files
-	PICFLAG_FOR_TARGET=-fno-common
+	# Cancel any earlier -mdynamic-no-pic, as that makes
+	# the code not suitable for shared libraries.
+	PICFLAG_FOR_TARGET='-fno-common -mno-dynamic-no-pic'
 	;;
     alpha*-dec-osf5*)
 	# PIC is the default.
@@ -18147,7 +18149,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18150 "configure"
+#line 18152 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18253,7 +18255,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18256 "configure"
+#line 18258 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H

	Jakub

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-04-07 10:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-07 10:04 [committed] Fix libcc1 build on Darwin (PR target/65351) Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).