From 9ec69d2ee7e74876adf6af4e50bd4686639dce05 Mon Sep 17 00:00:00 2001
From: Jack Howarth <howarth@bromo.med.uc.edu>
Date: Mon, 26 Apr 2010 20:48:35 +0000
Subject: [PATCH] re PR target/43715 (configure option --enable-plugin fails on
 darwin)

2010-04-26  Jack Howarth <howarth@bromo.med.uc.edu>

	PR 43715
	* gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
	instead of "$gcc_cv_objdump -T".
	Use "-undefined dynamic_lookup" on darwin.

From-SVN: r158748
---
 gcc/ChangeLog    |  8 ++++++++
 gcc/configure    | 21 ++++++++++++++++++---
 gcc/configure.ac | 21 ++++++++++++++++++---
 3 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4ac33a351ca7..218b93e03e87 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2010-04-21  Jack Howarth <howarth@bromo.med.uc.edu>
+
+	PR 43715
+	* gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
+	instead of "$gcc_cv_objdump -T".
+	Use "-undefined dynamic_lookup" on darwin.
+	* gcc/configure: Regenerate.
+
 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
 
 	PR c/43893
diff --git a/gcc/configure b/gcc/configure
index 53f5eb8e806e..fc4013b98f84 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -25276,17 +25276,25 @@ fi
 pluginlibs=
 if test x"$enable_plugin" = x"yes"; then
 
+  case "${host}" in
+    *-*-darwin*)
+      export_sym_check="$gcc_cv_nm -g"
+    ;;
+    *)
+      export_sym_check="$gcc_cv_objdump -T"
+    ;;
+  esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for exported symbols" >&5
 $as_echo_n "checking for exported symbols... " >&6; }
   echo "int main() {return 0;} int foobar() {return 0;}" > conftest.c
   ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest > /dev/null 2>&1
-  if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then
+  if $export_sym_check conftest | grep foobar > /dev/null; then
     : # No need to use a flag
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -rdynamic" >&5
 $as_echo_n "checking for -rdynamic... " >&6; }
     ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1
-    if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then
+    if $export_sym_check conftest | grep foobar > /dev/null; then
       plugin_rdynamic=yes
       pluginlibs="-rdynamic"
     else
@@ -25362,7 +25370,14 @@ fi
 
   # Check that we can build shared objects with -fPIC -shared
   saved_LDFLAGS="$LDFLAGS"
-  LDFLAGS="$LDFLAGS -fPIC -shared"
+  case "${host}" in
+    *-*-darwin*)
+      LDFLAGS="$LDFLAGS -fPIC -shared -undefined dynamic_lookup"
+    ;;
+    *)
+      LDFLAGS="$LDFLAGS -fPIC -shared"
+    ;;
+  esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5
 $as_echo_n "checking for -fPIC -shared... " >&6; }
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 2f571e6482d5..1676c40b4b02 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -4456,15 +4456,23 @@ enable_plugin=yes; default_plugin=yes)
 pluginlibs=
 if test x"$enable_plugin" = x"yes"; then
 
+  case "${host}" in
+    *-*-darwin*)
+      export_sym_check="$gcc_cv_nm -g"
+    ;;
+    *)
+      export_sym_check="$gcc_cv_objdump -T"
+    ;;
+  esac
   AC_MSG_CHECKING([for exported symbols])
   echo "int main() {return 0;} int foobar() {return 0;}" > conftest.c
   ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest > /dev/null 2>&1
-  if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then
+  if $export_sym_check conftest | grep foobar > /dev/null; then
     : # No need to use a flag
   else
     AC_MSG_CHECKING([for -rdynamic])
     ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1
-    if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then
+    if $export_sym_check conftest | grep foobar > /dev/null; then
       plugin_rdynamic=yes
       pluginlibs="-rdynamic"
     else
@@ -4484,7 +4492,14 @@ if test x"$enable_plugin" = x"yes"; then
 
   # Check that we can build shared objects with -fPIC -shared
   saved_LDFLAGS="$LDFLAGS"
-  LDFLAGS="$LDFLAGS -fPIC -shared"
+  case "${host}" in
+    *-*-darwin*)
+      LDFLAGS="$LDFLAGS -fPIC -shared -undefined dynamic_lookup"
+    ;;
+    *)
+      LDFLAGS="$LDFLAGS -fPIC -shared"
+    ;;
+  esac
   AC_MSG_CHECKING([for -fPIC -shared])
   AC_TRY_LINK(
     [extern int X;],[return X == 0;],
-- 
GitLab