From 0363db460d75a19d143a437479e2e122743430c7 Mon Sep 17 00:00:00 2001
From: Geoffrey Keating <geoffk@apple.com>
Date: Sat, 1 Oct 2005 06:11:29 +0000
Subject: [PATCH] libffi-dg.exp (libffi_target_compile): For darwin, use
 -shared-libgcc not -lgcc_s, and explain why.

	* testsuite/lib/libffi-dg.exp (libffi_target_compile): For
	darwin, use -shared-libgcc not -lgcc_s, and explain why.

From-SVN: r104847
---
 libffi/ChangeLog                   | 5 +++++
 libffi/testsuite/lib/libffi-dg.exp | 9 +++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index df544ba0f852..7c9c97e44a6b 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-30  Geoffrey Keating  <geoffk@apple.com>
+
+	* testsuite/lib/libffi-dg.exp (libffi_target_compile): For
+	darwin, use -shared-libgcc not -lgcc_s, and explain why.
+
 2005-09-26  Tom Tromey  <tromey@redhat.com>
 
 	* testsuite/libffi.call/float1.c (value_type): New typedef.
diff --git a/libffi/testsuite/lib/libffi-dg.exp b/libffi/testsuite/lib/libffi-dg.exp
index 4708ef7b4e73..c3eecff96c0a 100644
--- a/libffi/testsuite/lib/libffi-dg.exp
+++ b/libffi/testsuite/lib/libffi-dg.exp
@@ -187,8 +187,13 @@ proc libffi_target_compile { source dest type options } {
     lappend options "additional_flags=-I${libffi_include} -I${srcdir}/../include  -I${libffi_include}/.."
     lappend options "additional_flags=${libffi_link_flags}"
 
-    if { [string match "powerpc-*-darwin*" $target_triplet] } {
-	lappend options "libs= -lgcc_s"
+    # If you're building the compiler with --prefix set to a place
+    # where it's not yet installed, then the linker won't be able to
+    # find the libgcc used by libffi.dylib.  We could pass the
+    # -dylib_file option, but that's complicated, and it's much easier
+    # to just make the linker find libgcc using -L options.
+    if { [string match "*-*-darwin*" $target_triplet] } {
+	lappend options "libs= -shared-libgcc"
     }
 
     lappend options "libs= -lffi"
-- 
GitLab