User Details
- User Since
- Nov 2 2021, 10:02 AM (34 w, 16 h)
Mon, Jun 20
Fri, Jun 17
Generalize error message.
May 4 2022
Apr 22 2022
I love the use of StringSwitch! Very cool!
Apr 21 2022
Nice! I noticed that the tests in eh-frame.s only contain failing cases. Are there already success cases tested elsewhere?
Apr 19 2022
Mar 31 2022
Mar 30 2022
Mar 29 2022
After having spoken to @int3 , we decided to adjust the code in a couple ways so I'll be reworking this diff.
Mar 28 2022
Mar 25 2022
Mar 23 2022
Mar 22 2022
Get rid of unnecessary priority variable.
Rename lowestPriority to highestAvailablePriority.
Mar 21 2022
Remove duplicated code representing "maximum priority"
Change PriorityBuilder from a unique pointer to a regular object.
I applied the same idea to config->callGraphProfile. @int3 Could you take a look?
Added config->callGraphProfile to PriorityBuilder
Never mind. I found this is unnecessary.
Mar 11 2022
Mar 7 2022
As I understand, we are zero-ing out the addends of all cfstring sections because we are moving the addend check from the section comparisons to the relocation comparisons. All relocation comparisons (not just those for cfsections) will now check addend equality. LGTM
Feb 28 2022
Feb 25 2022
Feb 17 2022
Feb 14 2022
Feb 11 2022
Add assert statement.
Feb 10 2022
it wouldn't hurt to assert that the offset is indeed zero.
Fix cast.
@int3 I've simplified the code to not use offsets from StringPieces and to just print the StringRef that corresponds to each StringPiece. This is because we no longer do any tail-merging, making offsets unnecessary.
Address comments
Feb 5 2022
Jan 28 2022
rebase
Address comments
Jan 27 2022
Add test with no dead symbols.
Address comments
Jan 24 2022
Update assert
Reverted from declarative style to a more imperative style.
Jan 20 2022
$ cbdr sample "base:/tmp/before/ld64.lld @response.txt -map beforemap.txt" "diff:/tmp/after/ld64.lld @response.txt -map aftermap.txt" --timeout=300s | tee results.csv | cbdr analyze -s 95 Warming up base... Warming up diff... base diff difference (95% CI) sys_time 1.406 ± 0.020 1.388 ± 0.019 [ -1.9% .. -0.6%] user_time 5.557 ± 0.023 5.914 ± 0.020 [ +6.2% .. +6.6%] wall_time 4.455 ± 0.041 4.436 ± 0.035 [ -0.8% .. -0.0%] samples 35 35
Jan 11 2022
Insert missing period from warning.
Jan 10 2022
Update comments.
Addressed mpark's comments.
Rewrite code in a more declarative style.
Small rename.
Rewrite diff to be more declarative.
Jan 6 2022
You're right that the new dead symbol section is not exactly the same as what ld64 outputs. look lld/test/MachO/dead-strip.s. I followed the precedence set by lld's section for live symbols and basically replicated that for dead symbols. Do you think this needs to be changed?
Squashing separate commits.
@int3 could you submit this for me? thanks :)
Jan 1 2022
I expect this will need some advice but I think it's ready for its initial review.
Dec 30 2021
Dec 23 2021
Nov 11 2021
Address comments
Nov 10 2021
I'm not an Apple/Mach-O developer, and don't really know much, if anything, about the platform or the file format, so take my thoughts with a pinch of salt. However, I wanted to question this:
- For traditional Unix static libraries, the filenames are largely irrelevant - you can have multiple library members without any issue and it'll just work at link time. This is because such library members are picked based on their symbol names, rather than anything to do with their filenames.
- If the existing cctools libtool reports a warning rather than an error, why not do the same here? It seems like reporting an error might cause problems where existing users are creating such a library for good reason. NB: if there is no possible good reason, i.e. the library is fundamentally broken, then an error makes sense - see my above point about not being too familiar with the format.
Formatting
Formatting
Addressing comments