[Webkit-unassigned] [Bug 152641] [GTK OSX] webkit-gtk 2.11.2 fails to link libllvmForJSC.dylib on OS X due to duplicate (local) abort and raise symbols

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Jan 16 10:13:47 PST 2016


https://bugs.webkit.org/show_bug.cgi?id=152641

--- Comment #1 from Jeremy Huddleston Sequoia <jeremyhu at apple.com> ---
Some history here... the llvm-provided definitions are conditional on:

#if defined(__APPLE__) && defined(ENABLE_CRASH_OVERRIDES)

The llvm ones are there to redefine raise() as:
  return pthread_kill(pthread_self(), sig);

compared to the system definition as:
  return(kill(getpid(), s));

---

The wording of the comment around this is:

// On Darwin, raise sends a signal to the main thread instead of the current
// thread. This has the unfortunate effect that assert() and abort() will end up
// bypassing our crash recovery attempts. We work around this for anything in
// the same linkage unit by just defining our own versions of the assert handler
// and abort.

While raise() does behave as described, I changed the behavior of abort() in Lion (10.7) to use pthread_kill() instead of raise().  I think it best to handle removal of the llvm overrides, and I'll file a bug at llvm.org for that.

Additionally, libllvmForJSC.dylib is linking in the static archive directly instead of libLLVM-3.7.dylib.  Again, this isn't a bug in webkit as it is just doing what llvm-config --libs instructs it to.  I'll file a bug at llvm.org for that as well.

Given the above, do we want to add a workaround in webkit or detect the problem during configure?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160116/ea4780fb/attachment.html>


More information about the webkit-unassigned mailing list