diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index b19398e24196b7eef3c47765d1b1606a8080a578..9a949d0d09134971c72f4da5150b24ff51ed812f 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2006-09-01  Geoffrey Keating  <geoffk@apple.com>
+
+	* testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one):
+	Pass -lgcj to linker for C++ files on Darwin.
+
 2006-09-01  Keith Seitz  <keiths@redhat.com>
 
 	* jvmti.cc (THREAD_DEFAULT_TO_CURRENT): Encapsulate in do..while loop.
diff --git a/libjava/testsuite/libjava.jni/jni.exp b/libjava/testsuite/libjava.jni/jni.exp
index 0ed8a5aaba289f7c9baea51d8bbf12690812f282..317c5ae57e51046b73fd47fa92bb5d2f95163119 100644
--- a/libjava/testsuite/libjava.jni/jni.exp
+++ b/libjava/testsuite/libjava.jni/jni.exp
@@ -257,8 +257,9 @@ proc gcj_jni_invocation_test_one {file} {
   # 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.
+  # Similar logic applies to libgcj.
   if { [istarget "*-*-darwin*"] } {
-      set cxxflags "-L../.libs -shared-libgcc -ljvm -liconv"
+      set cxxflags "-L../.libs -shared-libgcc -ljvm -lgcj -liconv"
   } else {
       global LIBJAVA
       if [info exists LIBJAVA] {