User Details
- User Since
- Jun 30 2021, 10:55 PM (117 w, 6 d)
Aug 21 2023
Overall, lgtm. Minor comments
Jul 24 2023
Would love to get some feedback whether there's interest in this or if there's a better way to solve the build speed issue.
Jul 21 2023
I wonder whether you can consider binary patching the broken shared objects. I have done similar things for my employer (for symbol versioning, not for this STB_LOCAL instance) as well..
If binary patching doesn't look great, use --noinhibit-exec.
@MaskRay This is effectively a revert of https://github.com/llvm/llvm-project/commit/3ac94280245415be66cb1b603367c5f4f6d498e7 (but keeping the message intact). Do you have any suggestions how to get around this specific issue?
Jun 30 2023
Jun 29 2023
Jun 23 2023
@labrinea This change hits a crash when trying to build lld with thinLTO (i.e. stage2 lld) and with assertions enabled. I verified that the revision before this change works. I get the following assertion failure
opt: <workspace>/llvm-project/llvm/include/llvm/Support/Casting.h:578: decltype(auto) llvm::cast(From *) [To = llvm::ConstantInt, From = llvm::Constant]: Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
May 20 2023
May 15 2023
Remove thumb field. Assert N_ARM_THUMB_DEF flag not set.
Mar 27 2023
We've just recently updated our version of LLVM (I know we're slow...), and this patch breaks our builds when building LLVM for macOS Universal and with LTO. Specifically, this is the error I get when building for such configuration.
Mar 15 2023
This might've been an oversight on my end. I think the choice to use the host linker to build for a target was to retain the previous behavior as close as possible while allowing the ability to override. Your situation seems to contradict this scenario unless you override specifically on the command line, which I can agree might not be desirable. Feel free to remove the default as long as existing builds all pass.
Mar 9 2023
Feb 16 2023
Feb 10 2023
Feb 1 2023
LGTM. Not sure why buildbots are complaining, but they don't look super related.
Jan 23 2023
After some internal discussions, I'm going to abandon this in favor of a local internal patch since the current behavior is easier to reason. If other folks run into this issue and also want this behavior, I'm happy to bring this back.
We do handle systemPaths as optional right now in L186-L194. The issue is that the link arguments contain an explicit -L/usr/local/lib that doesn't exist.
Jan 20 2023
Dec 29 2022
Re-reading that, it seems to be the same issue (though our case is because of swift autolinking instead of symbols defined in the same archive). I think we should re-open that PR and track it for future references. Seeing that it could be more widespread, we might want to prioritize it.
Dec 28 2022
I'm happy to commit to the idea that hashing on the contents is the wrong implementation. But, do people think this specific behavior is one that should still be fixed within LLD (with another implementation) or be fixed directly in the codebase (assuming this is possible)?
Dec 27 2022
Dec 22 2022
Dec 19 2022
Dec 12 2022
Dec 6 2022
Nov 22 2022
Sep 30 2022
Rename dupSymReporter to dupSymDiags
Fixed up nits and naming
Sep 29 2022
Update comment
Add flag to gate dead stripped duplicate symbols
Sep 28 2022
Do you have data how much harder these are to fix than (say) the text deduping failures?
FWIW, I don't agree with this argument, and our doc listing intentional differences doesn't either. (Not deduping strings by default is a big difference and we're stricter in various other areas too.)
Sep 17 2022
Sep 14 2022
Overall, lgtm. Thanks!
Sep 12 2022
Aug 29 2022
Some minor comments. Overall, LGTM, I'll leave it to people more familiar with the code to stamp.
Aug 25 2022
@int3 Thanks for the clarification! In that case, this change LGTM.
Aug 24 2022
we would actually produce an invalid __eh_frame section in that case because the CIE associated with the unnecessary FDE would still get dead-stripped and we'd end up with a dangling FDE
Aug 14 2022
Whoops, this might've been a copy paste error on my end. Thanks for catching it!
Aug 3 2022
Jul 28 2022
Jul 27 2022
Jul 20 2022
Could we run a benchmark on this just to see if it has any impact on link speed? I remember bind opcodes optimization had a slight link speed regression which was then put behind an -O2 flag since it isn't worth it for debug builds. I'm wondering if we need to do the same for the rebase opcodes.
Jul 15 2022
May 25 2022
LGTM
May 24 2022
May 11 2022
LGTM
Apr 22 2022
Fixed up comments and renaming
Apr 21 2022
Apr 20 2022
Mar 22 2022
Feb 18 2022
Feb 10 2022
Overall, I gave it some thought on the naming. To be consistent with a part of the naming (e.g. no_fatal_warnings_), it makes sense to have no-arg be as the prefix as well. We do have a mix of - and _ (e.g. lld-watchos and no_fatal_warnings_lld). I broke the tie and slightly prefer -. Hence, the result no-arg-lld.
Rename to no-arg-lld
Switch name to lld-noarg
Feb 9 2022
why doesn't re-using %lld plus additional args, which would override the defalut ones provided by %lld anyways, work?
Unfortunately, we can't start with %lld anymore otherwise it would get replaced with the value of %lld and then just append -noarg which makes the command invalid. I'm happy to change it to %no-arg-lld.
Bikeshedding: How about %lld-noarg? It's a bit more descriptive and only two characters longer.
Feb 7 2022
LGTM