LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 736 - Indirect call crashes JIT on x86 / Darwin
Summary: Indirect call crashes JIT on x86 / Darwin
Status: RESOLVED FIXED
Alias: None
Product: libraries
Classification: Unclassified
Component: Backend: X86 (show other bugs)
Version: 1.7
Hardware: Macintosh MacOS X
: P normal
Assignee: Unassigned LLVM Bugs
URL:
Keywords: compile-fail
Depends on:
Blocks:
 
Reported: 2006-04-13 13:05 PDT by Evan Cheng
Modified: 2010-03-06 13:59 PST (History)
2 users (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evan Cheng 2006-04-13 13:05:13 PDT
See test/Regression/ExecutionEngine/2005-12-02-TailCallBug.ll

After a callback (for lazy compilation), the execution engine would crash in JITCompilerFn(). Looks like the 
stub to function look up failed (it actually crashed during the map look up):
   // The address given to us for the stub may not be exactly right, it might be
  // a little bit after the stub.  As such, use upper_bound to find it.
  std::map<void*, Function*>::iterator I =
    JR.state.getStubToFunctionMap(locked).upper_bound(Stub);
Comment 1 Nate Begeman 2006-05-01 13:46:12 PDT
This appears to be working now, I can't reproduce the crash with the new front end and TOT llvm.