[llvm-bugs] [Bug 31380] New: JIT notifiers called before relocations performed (and pages marked executable)
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Dec 14 15:29:12 PST 2016
https://llvm.org/bugs/show_bug.cgi?id=31380
Bug ID: 31380
Summary: JIT notifiers called before relocations performed (and
pages marked executable)
Product: libraries
Version: trunk
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P
Component: MCJIT
Assignee: unassignedbugs at nondot.org
Reporter: andres at anarazel.de
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Hi,
Currently the jit notifier's NotifyObjectEmitted() is called by
MCJIT::generateCodeForModule(). That's too early, because relocations haven't
been performed (making the code debuggers/profiling tools see wrong) and
because the page hasn't yet been marked executable (bad, because some profiling
tools don't work in that case).
It seems to me that generateCodeForModule() should put all notifications into a
queue of pending notifications which then is emitted in
finalizeLoadedModules(), after Dyld.resolveRelocations() and
MemMgr->finalizeMemory().
Are there reasons for the current placement that I missed, or is this just an
omission? In the latter case I'll happily provide a patch fixing this.
Regards,
Andres
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161214/d0d2a824/attachment.html>
More information about the llvm-bugs
mailing list