-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backtraces: some line numbers are still 0 #17317
Comments
Good find. Looks like this is broken:
|
There's also at least one place were we are emitting line number locations that we shouldn't be:
And jl_gdblookup and disasm.cpp needs to be updated to show inlining. |
Also worth noting that |
* the inlining pass would discard the first LineNumberNode, without checking that it matched the line number of the function declaration * the CurrentDebugLocation shouldn't be set while emitting the prologue * implement inlining info for pre-MCJIT llvm * improve printing of relative symbols in disassembly (e.g. 'callq "_setindex!"') and hide the first line number if it is zero * print inlining info during jl_gdblookup also fix llvm 3.3 build fix #17317
Note that even with my fixes, some line numbers are supposed to be 0 (to indicate that it is part of the function prologue). The absence of |
Thanks a ton, @vtjnash! |
* the inlining pass would discard the first LineNumberNode, without checking that it matched the line number of the function declaration * the CurrentDebugLocation shouldn't be set while emitting the prologue * implement inlining info for pre-MCJIT llvm * improve printing of relative symbols in disassembly (e.g. 'callq "_setindex!"') and hide the first line number if it is zero * print inlining info during jl_gdblookup also fix llvm 3.3 build fix JuliaLang#17317
Results:
This is with a completely-fresh julia master,
The text was updated successfully, but these errors were encountered: