Unfortunately, after this change there are several variables only used in asserts, which creates build failures when assertions are disabled.
Jun 9 2020
Jun 8 2020
For post-commit review.
Jun 1 2020
May 29 2020
I have added the necessary debug info to the .s file--it is a fairly minimal set. I have also removed the checked in binary.
Address upstream concerns about a checked-in binary for the test case.
May 28 2020
Yeah, I'm kind of inclined to agree with @aprantl here - when the client asks for relative names I could see how that'd be reasonable to say "don't add the compilation dir" but I'm not sure what it means for other paths/doesn't necessarily seem reasonable for it to mean "give me back the unqualified name" even if it's relative to some other/unknown directory.
How would the client then know where to find this name relative to?
Update for upstream comments.
May 26 2020
This is puzzling to me, as we use this internally at Google all over the place, and it seems to work just fine. So I'm surprised we haven't noticed anything.
May 21 2020
May 19 2020
Ping on this?
May 18 2020
Apr 28 2020
Apr 23 2020
Apr 17 2020
Reverted in a4b88c044980337bb14390be654fe76864aa60ec. Happy to approve an updated change.
This change breaks the lldb build with
Apr 16 2020
Appreciate the quick fix. Thanks.
The comparison on lines 81 and 82 of InputChunks.cpp is always true.
Apr 15 2020
The test in this commit writes to a local file (which it ignores). This makes it so the test can't run on a read-only file system. I have committed bf94c960071d338b7157ac7dee8120df50d5600f to fix.
Apr 13 2020
As written, this test writes to the current directory, which assumes that the current directory is writable, but that is not true in all builds. I have committed 215e6bfcfb5af7713ec348f679c7be4d2f32dc82 to fix.
Apr 7 2020
Nice catch. Probably should wait for an unwind owner to accept though.
Apr 2 2020
Don't know why Phab thinks compnerd's accepting the revision March 1, at 9:54 left it in an unaccepted state. Happy to revert it if necessary, but I don't think so.
Mar 31 2020
Mar 30 2020
The harbormaster failures can't possibly be related. For example, the failure below has nothing whatever to do with this change.
Thanks for the comments, I think this catches them all.
updated for all comments.
Mar 26 2020
Add missing file.
Add documentation and otherwise address upstream comments.
Mar 25 2020
Mar 24 2020
Remove short option. It only existed to be parallel to "-s", but conflicts
with options in gnu addr2line.
The clang-format recommendations would change the new options to not match the format of old ones. Not sure the best thing to do there.
This change looks good to me. My mere concern is about the option naming. In GNU addr2line, -r has a different meaning, and llvm-symbolizer can be used as llvm-addr2line (it is a crunched executable). If it does not cause too much inconvenience, I will hope we can make llvm-symbolizer and llvm-addr2line have consistent option names.
Mar 20 2020
Mar 19 2020
Mar 18 2020
Mar 12 2020
Mar 11 2020
Correct the "do not run" cases to match the logic in AddressSpace.hpp.
Update test to only run when relevant.
Add tests, and minor formatting changes.
I think it looks good now. My only issue is that it seems to rely on a couple of glibc-specific features: glibc modifying the fields adds and subs in dl_phdr_info when loading/unloading libraries (which this patch uses to know when to invalidate the cache), and dl_iterate_phdr holding a lock (which the patch relies on to avoid races while accessing the cache). What other libc implementations do we support? Do they share these behaviors we rely on here?
Add missing comment.
Update for upstream comments.
Mar 10 2020
I have some tests nearing completion, but want to get started with the feedback now.
This looks fine to me.
Mar 9 2020
Update for upstream comments
Switch boolean to a more clear enum to make call site clearer.
Move initialization to in class.
Mar 6 2020
I don't know why the linter wants me to indent everything another level. That is clearly not right given the surrounding code.
Fixing last linter complaint (the indent of the switch case), would include either re-indenting other cases involved in this switch, or having the cases not aligned. I think the current situation is better.
Mar 5 2020
Minor formatting fixes.