-
Notifications
You must be signed in to change notification settings - Fork 552
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
Fix: fix sccache bug for dwo file generate #2271
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2271 +/- ##
==========================================
+ Coverage 30.91% 40.85% +9.94%
==========================================
Files 53 54 +1
Lines 20112 20803 +691
Branches 9755 9678 -77
==========================================
+ Hits 6217 8499 +2282
- Misses 7922 8153 +231
+ Partials 5973 4151 -1822 ☔ View full report in Codecov by Sentry. |
Could you please add a test to make sure we don't regress in the future? thanks |
"test_parse_arguments_split_dwarf" this case has been modified to make it work all the time |
this isn't enough. I would like to see a test reproducing:
also, you didn't updated the clang.rs file, is that expected ? |
ok, I will add another test for it, but it need time. parse_arguments in clang.rs will call parse_arguments in gcc.rs, so no need to change them all. |
see https://github.com/mozilla/sccache/blob/main/tests/system.rs for example |
thanks, that's really help. |
e575726
to
ce57a02
Compare
Needs rustfmt |
done |
Thanks |
When output dir changed, and -g -gsplit-dwarf is enabled,
because the object file have link to the dwo file (include directories),
the new object file should be gererated, but not old cached object.
In this patch, we add a new precompile macro, for example, "-D_gsplit_dwarf_path=foo.dwo", to force sccache to generate new object file depend on the output directories.
we can check if it work by this case:
case:
The new o2/test.o should contains new link to o2/test.dwo, but not cached o1/test.dwo