Page MenuHomePhabricator
Feed Advanced Search

Wed, Feb 1

thevinster accepted D143123: [NFC] Add split-file as runtime test dependency.

LGTM. Not sure why buildbots are complaining, but they don't look super related.

Wed, Feb 1, 7:04 PM · Restricted Project, Restricted Project, Restricted Project

Mon, Jan 23

thevinster abandoned D142248: [lld-macho] Do not warn on missing /usr/local/lib library search path.

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.

Mon, Jan 23, 12:51 PM · Restricted Project, Restricted Project, Restricted Project
thevinster added a comment to D142248: [lld-macho] Do not warn on missing /usr/local/lib library search path.

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.

Mon, Jan 23, 12:09 PM · Restricted Project, Restricted Project, Restricted Project

Fri, Jan 20

thevinster published D142248: [lld-macho] Do not warn on missing /usr/local/lib library search path for review.
Fri, Jan 20, 12:31 PM · Restricted Project, Restricted Project, Restricted Project

Dec 29 2022

thevinster abandoned D140592: [lld-macho] Skip re-loading archive if already loaded.

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 29 2022, 6:11 PM · Restricted Project, Restricted Project, Restricted Project

Dec 28 2022

thevinster added a comment to D140592: [lld-macho] Skip re-loading archive if already loaded.

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 28 2022, 6:40 PM · Restricted Project, Restricted Project, Restricted Project
thevinster added a comment to D140592: [lld-macho] Skip re-loading archive if already loaded.

Imho it'd be nicer to add this to the "list of places where lld is different from ld64". From what I can tell, this isn't a _huge_ problem in practice (we haven't needed it until now), and there's some value in both sensible semantics and in having behavior that's consistent with the other llds too.

Dec 28 2022, 12:04 PM · Restricted Project, Restricted Project, Restricted Project

Dec 27 2022

thevinster added inline comments to D140592: [lld-macho] Skip re-loading archive if already loaded.
Dec 27 2022, 4:58 PM · Restricted Project, Restricted Project, Restricted Project
thevinster added inline comments to D140592: [lld-macho] Skip re-loading archive if already loaded.
Dec 27 2022, 12:22 AM · Restricted Project, Restricted Project, Restricted Project

Dec 22 2022

thevinster published D140592: [lld-macho] Skip re-loading archive if already loaded for review.
Dec 22 2022, 5:02 PM · Restricted Project, Restricted Project, Restricted Project

Dec 19 2022

thevinster accepted D139762: [lld-macho] Emit map file entries for more synthetic sections.
Dec 19 2022, 1:21 PM · Restricted Project, Restricted Project, Restricted Project

Dec 12 2022

thevinster added a comment to D137368: [lld-macho] Overhaul map file code.

Does this allow us to undo D115416?

Possibly, I'll have to do some benchmarks. However I think it is likely still a performance improvement to do it in parallel

Sure, but having simpler code makes it easier to parallelize other parts. Doing complicated parallelism too early makes it harder to do parallelize things that would otherwise be easier to parallelize and might get us stuck in a local optimum.

(This is admittedly very hand-wavy!)

Dec 12 2022, 2:30 AM · Restricted Project, Restricted Project, Restricted Project

Dec 6 2022

thevinster committed rGea32faea6dc4: [lld-macho][nfc] Fix up missing FileCheck on objc.s (authored by thevinster).
[lld-macho][nfc] Fix up missing FileCheck on objc.s
Dec 6 2022, 6:42 PM · Restricted Project
thevinster closed D139396: [lld-macho][nfc] Fix up missing FileCheck on objc.s.
Dec 6 2022, 6:42 PM · Restricted Project, Restricted Project, Restricted Project
thevinster updated the summary of D139396: [lld-macho][nfc] Fix up missing FileCheck on objc.s.
Dec 6 2022, 12:03 AM · Restricted Project, Restricted Project, Restricted Project
thevinster published D139396: [lld-macho][nfc] Fix up missing FileCheck on objc.s for review.
Dec 6 2022, 12:01 AM · Restricted Project, Restricted Project, Restricted Project

Nov 22 2022

thevinster added inline comments to D133633: [CMake] Add ClangBootstrap configuration.
Nov 22 2022, 11:00 PM · Restricted Project, Restricted Project

Sep 30 2022

thevinster committed rG58edaef3fe08: [lld-macho] Do not error out on dead stripped duplicate symbols (authored by thevinster).
[lld-macho] Do not error out on dead stripped duplicate symbols
Sep 30 2022, 3:10 PM · Restricted Project
thevinster closed D134794: [lld-macho] Do not error out on dead stripped duplicate symbols.
Sep 30 2022, 3:10 PM · Restricted Project, Restricted Project, Restricted Project
thevinster updated the diff for D134794: [lld-macho] Do not error out on dead stripped duplicate symbols.

Rename dupSymReporter to dupSymDiags

Sep 30 2022, 3:07 PM · Restricted Project, Restricted Project, Restricted Project
thevinster added inline comments to D134794: [lld-macho] Do not error out on dead stripped duplicate symbols.
Sep 30 2022, 2:27 PM · Restricted Project, Restricted Project, Restricted Project
thevinster updated the diff for D134794: [lld-macho] Do not error out on dead stripped duplicate symbols.

Fixed up nits and naming

Sep 30 2022, 2:26 PM · Restricted Project, Restricted Project, Restricted Project

Sep 29 2022

thevinster updated the diff for D134794: [lld-macho] Do not error out on dead stripped duplicate symbols.

Update comment

Sep 29 2022, 3:34 PM · Restricted Project, Restricted Project, Restricted Project
thevinster updated the summary of D134794: [lld-macho] Do not error out on dead stripped duplicate symbols.
Sep 29 2022, 3:31 PM · Restricted Project, Restricted Project, Restricted Project
thevinster updated the diff for D134794: [lld-macho] Do not error out on dead stripped duplicate symbols.

Add flag to gate dead stripped duplicate symbols

Sep 29 2022, 3:29 PM · Restricted Project, Restricted Project, Restricted Project

Sep 28 2022

thevinster added a comment to D134794: [lld-macho] Do not error out on dead stripped duplicate symbols.

Do you have data how much harder these are to fix than (say) the text deduping failures?

Sep 28 2022, 2:19 PM · Restricted Project, Restricted Project, Restricted Project
thevinster added a comment to D134794: [lld-macho] Do not error out on dead stripped duplicate symbols.

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 28 2022, 9:51 AM · Restricted Project, Restricted Project, Restricted Project
thevinster published D134794: [lld-macho] Do not error out on dead stripped duplicate symbols for review.
Sep 28 2022, 12:08 AM · Restricted Project, Restricted Project, Restricted Project

Sep 17 2022

thevinster added inline comments to D134058: [lld-macho] Support -dyld_env.
Sep 17 2022, 10:57 PM · Restricted Project, Restricted Project, Restricted Project

Sep 14 2022

thevinster added inline comments to D133825: [lld-macho] Add support for N_INDR symbols.
Sep 14 2022, 11:41 AM · Restricted Project, Restricted Project, Restricted Project
thevinster accepted D133825: [lld-macho] Add support for N_INDR symbols.

Overall, lgtm. Thanks!

Sep 14 2022, 1:54 AM · Restricted Project, Restricted Project, Restricted Project

Sep 12 2022

thevinster committed rG79e5c5004e9a: [llvm-lipo] Fix create-arch-asm test by requiring x86 and aarch64 target (authored by thevinster).
[llvm-lipo] Fix create-arch-asm test by requiring x86 and aarch64 target
Sep 12 2022, 7:00 PM · Restricted Project, Restricted Project
thevinster committed rG61e54384982a: [llvm-lipo] Support object files with bitcode asm (authored by thevinster).
[llvm-lipo] Support object files with bitcode asm
Sep 12 2022, 6:15 PM · Restricted Project, Restricted Project
thevinster closed D133729: [llvm-lipo] Support object files with bitcode asm.
Sep 12 2022, 6:14 PM · Restricted Project, Restricted Project
thevinster published D133729: [llvm-lipo] Support object files with bitcode asm for review.
Sep 12 2022, 3:17 PM · Restricted Project, Restricted Project
thevinster accepted D133717: [lld-macho][docs] Cosmetic changes.
Sep 12 2022, 12:47 PM · Restricted Project, Restricted Project, Restricted Project

Aug 29 2022

thevinster accepted D132845: [MachO] Don't fold compact unwind entries with LSDA.
Aug 29 2022, 11:51 AM · Restricted Project, Restricted Project, Restricted Project
thevinster added a comment to D132845: [MachO] Don't fold compact unwind entries with LSDA.

Some minor comments. Overall, LGTM, I'll leave it to people more familiar with the code to stamp.

Aug 29 2022, 9:53 AM · Restricted Project, Restricted Project, Restricted Project

Aug 25 2022

thevinster added a comment to D132489: [MachO] Fix dead-stripping __eh_frame.

@int3 Thanks for the clarification! In that case, this change LGTM.

Aug 25 2022, 11:39 AM · Restricted Project, Restricted Project, Restricted Project

Aug 24 2022

thevinster added a comment to D132489: [MachO] Fix dead-stripping __eh_frame.

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 24 2022, 1:17 AM · Restricted Project, Restricted Project, Restricted Project

Aug 14 2022

thevinster added a comment to D131781: [lld/mac] Stop accepting arbitrary suffixes on --(no-)warn-dylib-install-name.

Whoops, this might've been a copy paste error on my end. Thanks for catching it!

Aug 14 2022, 10:36 PM · Restricted Project, Restricted Project, Restricted Project

Aug 3 2022

thevinster committed rGc77db8161680: [CMake] Fix runtimes cross-compilation when using LLVM_USE_LINKER (authored by thevinster).
[CMake] Fix runtimes cross-compilation when using LLVM_USE_LINKER
Aug 3 2022, 11:24 AM · Restricted Project, Restricted Project
thevinster closed D131051: [CMake] Fix runtimes cross-compilation when using LLVM_USE_LINKER.
Aug 3 2022, 11:24 AM · Restricted Project, Restricted Project
thevinster published D131051: [CMake] Fix runtimes cross-compilation when using LLVM_USE_LINKER for review.
Aug 3 2022, 12:07 AM · Restricted Project, Restricted Project

Jul 28 2022

thevinster committed rGf030132c72d9: [lld-macho] Allow linking with ABI compatible architectures (authored by thevinster).
[lld-macho] Allow linking with ABI compatible architectures
Jul 28 2022, 5:17 PM · Restricted Project
thevinster closed D130683: [lld-macho] Allow linking with ABI compatible architectures.
Jul 28 2022, 5:16 PM · Restricted Project, Restricted Project, Restricted Project
thevinster accepted D130429: [lld-macho] `-exported_symbols` should hide symbols before LTO runs.
Jul 28 2022, 11:59 AM · Restricted Project, Restricted Project, Restricted Project

Jul 27 2022

thevinster updated the summary of D130683: [lld-macho] Allow linking with ABI compatible architectures.
Jul 27 2022, 11:51 PM · Restricted Project, Restricted Project, Restricted Project
thevinster published D130683: [lld-macho] Allow linking with ABI compatible architectures for review.
Jul 27 2022, 11:48 PM · Restricted Project, Restricted Project, Restricted Project

Jul 20 2022

thevinster added a comment to D130180: [lld-macho] Optimize rebase opcode generation.

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 20 2022, 11:22 AM · Restricted Project, Restricted Project, Restricted Project

Jul 15 2022

thevinster accepted D129894: [lld-macho][nfc] Add more tests + comments around ICF + unwind info interaction.
Jul 15 2022, 3:16 PM · Restricted Project, Restricted Project, Restricted Project

May 25 2022

thevinster accepted D126046: [lld-macho] Support -non_global_symbols_strip_list, -non_global_symbols_no_strip_list, -x.

LGTM

May 25 2022, 1:45 AM · Restricted Project, Restricted Project, Restricted Project

May 24 2022

thevinster added inline comments to D126046: [lld-macho] Support -non_global_symbols_strip_list, -non_global_symbols_no_strip_list, -x.
May 24 2022, 11:45 AM · Restricted Project, Restricted Project, Restricted Project
thevinster added inline comments to D126046: [lld-macho] Support -non_global_symbols_strip_list, -non_global_symbols_no_strip_list, -x.
May 24 2022, 3:25 AM · Restricted Project, Restricted Project, Restricted Project

May 11 2022

thevinster accepted D125250: [lld/macho] Fixes the -ObjC flag.

LGTM

May 11 2022, 4:04 PM · Restricted Project, Restricted Project, Restricted Project

Apr 22 2022

thevinster committed rG9f2272ff51b1: [lld-macho] Allow dead_strip to work with exported private extern symbols (authored by thevinster).
[lld-macho] Allow dead_strip to work with exported private extern symbols
Apr 22 2022, 6:46 PM · Restricted Project
thevinster closed D124143: [lld-macho] Allow dead_strip to work with exported private extern symbols.
Apr 22 2022, 6:46 PM · Restricted Project, Restricted Project, Restricted Project
thevinster retitled D124143: [lld-macho] Allow dead_strip to work with exported private extern symbols from [lld-macho] Allow dead_strip to work with autohide symbols that cannot be exported to [lld-macho] Allow dead_strip to work with exported private extern symbols.
Apr 22 2022, 2:01 PM · Restricted Project, Restricted Project, Restricted Project
thevinster updated the diff for D124143: [lld-macho] Allow dead_strip to work with exported private extern symbols.

Fixed up comments and renaming

Apr 22 2022, 1:57 PM · Restricted Project, Restricted Project, Restricted Project
thevinster accepted D124223: [lld-macho] Fix ICF crash when comparing symbol relocs.
Apr 22 2022, 12:15 PM · Restricted Project, Restricted Project, Restricted Project

Apr 21 2022

thevinster added inline comments to D124223: [lld-macho] Fix ICF crash when comparing symbol relocs.
Apr 21 2022, 9:55 PM · Restricted Project, Restricted Project, Restricted Project
thevinster added inline comments to D124143: [lld-macho] Allow dead_strip to work with exported private extern symbols.
Apr 21 2022, 12:29 PM · Restricted Project, Restricted Project, Restricted Project
thevinster updated subscribers of D124143: [lld-macho] Allow dead_strip to work with exported private extern symbols.
Apr 21 2022, 12:21 PM · Restricted Project, Restricted Project, Restricted Project
thevinster added inline comments to D124143: [lld-macho] Allow dead_strip to work with exported private extern symbols.
Apr 21 2022, 10:30 AM · Restricted Project, Restricted Project, Restricted Project

Apr 20 2022

thevinster published D124143: [lld-macho] Allow dead_strip to work with exported private extern symbols for review.
Apr 20 2022, 8:12 PM · Restricted Project, Restricted Project, Restricted Project

Mar 22 2022

thevinster added inline comments to D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 22 2022, 8:52 AM · Restricted Project, Restricted Project, Restricted Project

Feb 18 2022

thevinster accepted D119767: [lld-macho] Improve hiding of unnamed_addr symbols.
Feb 18 2022, 8:50 AM · Restricted Project, Restricted Project

Feb 10 2022

thevinster committed rGef764ee20746: [lld-macho][nfc] Centralize usages of ld64.lld in tests (authored by thevinster).
[lld-macho][nfc] Centralize usages of ld64.lld in tests
Feb 10 2022, 5:27 PM
thevinster closed D119394: [lld-macho][nfc] Centralize usages of ld64.lld in tests.
Feb 10 2022, 5:27 PM · Restricted Project, Restricted Project
thevinster added a comment to D119394: [lld-macho][nfc] Centralize usages of ld64.lld in tests.

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.

Feb 10 2022, 5:25 PM · Restricted Project, Restricted Project
thevinster updated the diff for D119394: [lld-macho][nfc] Centralize usages of ld64.lld in tests.

Rename to no-arg-lld

Feb 10 2022, 5:22 PM · Restricted Project, Restricted Project
thevinster updated the diff for D119394: [lld-macho][nfc] Centralize usages of ld64.lld in tests.

Switch name to lld-noarg

Feb 10 2022, 11:25 AM · Restricted Project, Restricted Project

Feb 9 2022

thevinster added a comment to D119394: [lld-macho][nfc] Centralize usages of ld64.lld in tests.

why doesn't re-using %lld plus additional args, which would override the defalut ones provided by %lld anyways, work?

Feb 9 2022, 5:54 PM · Restricted Project, Restricted Project
thevinster added a comment to D119394: [lld-macho][nfc] Centralize usages of ld64.lld in tests.

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.

Feb 9 2022, 5:50 PM · Restricted Project, Restricted Project
thevinster added a comment to D119394: [lld-macho][nfc] Centralize usages of ld64.lld in tests.

Bikeshedding: How about %lld-noarg? It's a bit more descriptive and only two characters longer.

Feb 9 2022, 5:45 PM · Restricted Project, Restricted Project
thevinster updated the summary of D119394: [lld-macho][nfc] Centralize usages of ld64.lld in tests.
Feb 9 2022, 5:37 PM · Restricted Project, Restricted Project
thevinster published D119394: [lld-macho][nfc] Centralize usages of ld64.lld in tests for review.
Feb 9 2022, 5:09 PM · Restricted Project, Restricted Project

Feb 7 2022

thevinster accepted D118931: [llvm-libtool-darwin] Add -warnings_as_errors.

LGTM

Feb 7 2022, 1:01 AM · Restricted Project

Jan 31 2022

thevinster added inline comments to D118646: [lld-macho][test] Add test for UUID format.
Jan 31 2022, 3:34 PM · Restricted Project, Restricted Project

Jan 27 2022

thevinster accepted D114737: [lld][Macho] Include dead-stripped symbols in mapfile.
Jan 27 2022, 3:09 PM · Restricted Project, Restricted Project

Jan 18 2022

thevinster committed rGe5347f2556cb: [lld-macho] Allow deduplicate-literals to be overridden (authored by thevinster).
[lld-macho] Allow deduplicate-literals to be overridden
Jan 18 2022, 3:43 PM
thevinster closed D117387: [lld-macho] Allow deduplicate-literals to be overridden.
Jan 18 2022, 3:43 PM · Restricted Project, Restricted Project
thevinster updated the diff for D117387: [lld-macho] Allow deduplicate-literals to be overridden.

Update differences in rst

Jan 18 2022, 12:59 PM · Restricted Project, Restricted Project
thevinster added a comment to D117387: [lld-macho] Allow deduplicate-literals to be overridden.

It's worth noting that -no_deduplicate in ld64 actually turns off ICF, not string merging. I don't know if ld64 even has a way to turn off string merging, since IIRC it's implemented in the symbol table itself.

Jan 18 2022, 12:46 PM · Restricted Project, Restricted Project

Jan 14 2022

thevinster published D117387: [lld-macho] Allow deduplicate-literals to be overridden for review.
Jan 14 2022, 11:19 PM · Restricted Project, Restricted Project

Jan 13 2022

thevinster added a comment to D117250: [lld-macho] Mention string literal deduplication as a difference from ld64.

After reading through this thread, I'm going to try and argue for both fronts here and then give my final opinion at the end.

Jan 13 2022, 6:41 PM · Restricted Project, Restricted Project

Jan 10 2022

thevinster added a comment to D115416: [lld-macho] Make writing map file asynchronous.
Jan 10 2022, 12:26 AM · Restricted Project, Restricted Project
thevinster committed rG7a161eb43b28: [lld-macho] Fix shadowed variable (authored by thevinster).
[lld-macho] Fix shadowed variable
Jan 10 2022, 12:25 AM

Jan 6 2022

thevinster committed rGa963bc490d68: [lld-macho] Increase slops to prevent thunk out of range (authored by thevinster).
[lld-macho] Increase slops to prevent thunk out of range
Jan 6 2022, 12:29 PM
thevinster closed D116705: [lld-macho] Increase slops to prevent thunk out of range.
Jan 6 2022, 12:29 PM · Restricted Project, Restricted Project, Restricted Project
thevinster added a comment to D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Do you think this needs to be changed?

Jan 6 2022, 12:25 PM · Restricted Project, Restricted Project
thevinster updated the summary of D116705: [lld-macho] Increase slops to prevent thunk out of range.
Jan 6 2022, 11:57 AM · Restricted Project, Restricted Project, Restricted Project
thevinster updated the diff for D116705: [lld-macho] Increase slops to prevent thunk out of range.

Increase to 256

Jan 6 2022, 11:56 AM · Restricted Project, Restricted Project, Restricted Project
thevinster added a comment to D116705: [lld-macho] Increase slops to prevent thunk out of range.

Maybe make it configurable too?

Jan 6 2022, 11:51 AM · Restricted Project, Restricted Project, Restricted Project

Jan 5 2022

thevinster updated subscribers of D116705: [lld-macho] Increase slops to prevent thunk out of range.
Jan 5 2022, 9:54 PM · Restricted Project, Restricted Project, Restricted Project
thevinster published D116705: [lld-macho] Increase slops to prevent thunk out of range for review.
Jan 5 2022, 3:08 PM · Restricted Project, Restricted Project, Restricted Project

Jan 2 2022

thevinster added a comment to D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

The output from ld64 doesn't look like what lld produces. Also the command you linked above doesn't pass in dead_strip. Is ld64 always outputting dead stripped symbols regardless of the flag or is the summary a typo?

Jan 2 2022, 8:39 PM · Restricted Project, Restricted Project

Dec 15 2021

thevinster committed rGd17b092fe690: [lld-macho] Make writing map file asynchronous (authored by thevinster).
[lld-macho] Make writing map file asynchronous
Dec 15 2021, 4:41 PM
thevinster closed D115416: [lld-macho] Make writing map file asynchronous.
Dec 15 2021, 4:41 PM · Restricted Project, Restricted Project
thevinster updated the diff for D115416: [lld-macho] Make writing map file asynchronous.

Don't enqueue if null osec

Dec 15 2021, 4:36 PM · Restricted Project, Restricted Project