diff options
-rw-r--r-- | gcc/jit/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/jit/jit-playback.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index 2cb6dfc..efa0d88 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -1,3 +1,8 @@ +2015-08-13 David Malcolm <dmalcolm@redhat.com> + + * jit-playback.c (invoke_driver): On OS X, add + "-Wl,-undefined,dynamic_lookup" to the driver arguments. + 2015-08-03 David Malcolm <dmalcolm@redhat.com> * docs/topics/compatibility.rst (LIBGCCJIT_ABI_4): New. 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); |