From baf3fbad0de4fd24bb8ed34f4b8bde9715fee33f Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Fri, 14 Aug 2015 01:18:14 +0000 Subject: [PATCH] jit: on OS X, add -Wl,-undefined,dynamic_lookup to driver invocation gcc/jit/ChangeLog: * jit-playback.c (invoke_driver): On OS X, add "-Wl,-undefined,dynamic_lookup" to the driver arguments. From-SVN: r226882 --- gcc/jit/ChangeLog | 5 +++++ gcc/jit/jit-playback.c | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index 2cb6dfc215a..efa0d889203 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -1,3 +1,8 @@ +2015-08-13 David Malcolm + + * jit-playback.c (invoke_driver): On OS X, add + "-Wl,-undefined,dynamic_lookup" to the driver arguments. + 2015-08-03 David Malcolm * docs/topics/compatibility.rst (LIBGCCJIT_ABI_4): New. diff --git a/gcc/jit/jit-playback.c b/gcc/jit/jit-playback.c index 925fa86474e..01cfd4baf13 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); -- 2.30.2