Reported as fixing the library on OS X Yosemite:
  https://gcc.gnu.org/ml/jit/2015-q3/msg00147.html

Committed to trunk as r226882.
Committed to gcc-5-branch as r226883.

gcc/jit/ChangeLog:
        * jit-playback.c (invoke_driver): On OS X, add
        "-Wl,-undefined,dynamic_lookup" to the driver arguments.
---
 gcc/jit/jit-playback.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gcc/jit/jit-playback.c b/gcc/jit/jit-playback.c
index 925fa86..01cfd4b 100644
--- a/gcc/jit/jit-playback.c
+++ b/gcc/jit/jit-playback.c
@@ -2416,6 +2416,15 @@ invoke_driver (const char *ctxt_progname,
      time.  */
   ADD_ARG ("-fno-use-linker-plugin");
 
+#if defined (DARWIN_X86) || defined (DARWIN_PPC)
+  /* OS X's linker defaults to treating undefined symbols as errors.
+     If the context has any imported functions or globals they will be
+     undefined until the .so is dynamically-linked into the process.
+     Ensure that the driver passes in "-undefined dynamic_lookup" to the
+     linker.  */
+  ADD_ARG ("-Wl,-undefined,dynamic_lookup");
+#endif
+
   /* pex argv arrays are NULL-terminated.  */
   argvec.safe_push (NULL);
 
-- 
1.8.5.3

Reply via email to