Page MenuHomePhabricator

smeenai (Shoaib Meenai)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 19 2016, 10:21 AM (243 w, 4 d)

Recent Activity

Today

smeenai accepted D100913: [lld-macho] Skip platform checks for a few libSystem re-exports.
Tue, Apr 20, 4:53 PM · Restricted Project, Restricted Project

Thu, Apr 15

smeenai accepted D100539: [libcxx] Base MSVC autolinking on _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS.

LGTM as well.

Thu, Apr 15, 12:48 PM · Restricted Project

Tue, Apr 13

smeenai added a comment to D40660: Enable auto-linking on Windows.

I see that @smeenai brought up the inconsistency between _DLL and _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS already back when this was reviewed. I'm running into problems with this inconsistency in various cases.

_DLL is tied to the choice of CRT (compiling with -MD defines it, compiling with -MT doesn't define it), while we might have built and be using either a statically linked or dynamically linked libc++. And as @smeenai argued, if _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS is not defined, then all declarations are decorated with dllimport, and there's no doubt about it, we have to use the DLL form of the library.

This is noticable today when running the libc++ testsuite (which is hooked up in CI these days, so by posting a patch you can get it verified too!); currently the CI configuration builds with both shared and static enabled (which links and uses the shared library only). If disabling building the static library, however, testing fails, as the autolinking tries to pull in the static library.

(We could disable autolinking within the test suite altogether, as it explicitly links the right library anyway, but I'd rather fix the autolinking feature instead of having to disable it because it misbehaves.)

I guess it's possible to set up cases with _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS disabled but still linking against the DLL, that might work at least for some subsets of the library functionality. But if manually enabling _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS in a DLL configuration, then one can also define _LIBCPP_NO_AUTO_LINK at the same time to opt out of the autolinking.

Therefore, I would like to post a patch that fixes the autolinking mechanism to rely on _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS which is closely tied to whether dllimport is used, and to whether a shared or static library was built. (And if both were built, it defaults to the shared one.)

WDYT @smeenai @compnerd?

Tue, Apr 13, 12:40 PM

Tue, Apr 6

smeenai added a comment to D99972: [lld-macho] Fix & refactor symbol size calculations.

Unless you think it only makes sense when paired with the rest of this diff, could you split out the renaming of SubsectionMapping to SubsectionMap into its own NFC diff (and probably just commit that directly)? It'd make the rest of this diff easier to read.

Tue, Apr 6, 10:36 AM · Restricted Project, Restricted Project

Sun, Apr 4

smeenai added a comment to D99783: [lld-macho][NFC] Remove redundant member from class Defined.

Good catch.

Sun, Apr 4, 10:21 PM · Restricted Project, Restricted Project

Thu, Apr 1

smeenai committed rGf5c9db97a8a2: [TextAPI] Add support for arm64_32 (authored by drodriguez).
[TextAPI] Add support for arm64_32
Thu, Apr 1, 5:19 PM
smeenai closed D99673: [TextAPI] Add support for arm64_32.
Thu, Apr 1, 5:19 PM · Restricted Project
smeenai committed rG813e7249b812: [builtins] Build for arm64_32 for watchOS (Darwin) (authored by drodriguez).
[builtins] Build for arm64_32 for watchOS (Darwin)
Thu, Apr 1, 5:18 PM
smeenai closed D99690: [builtins] Build for arm64_32 for watchOS (Darwin).
Thu, Apr 1, 5:18 PM · Restricted Project

Wed, Mar 31

smeenai added inline comments to D97802: [libc++] Increase readability of typeinfo comparison of ARM64.
Wed, Mar 31, 2:47 PM · Restricted Project

Tue, Mar 30

smeenai added a comment to D97007: [lld-macho] Define __mh_*_header synthetic symbols..
  1. We could make MachHeaderSection inherit from an InputSection rather than a OutputSection (SyntheticSection), and then have it be part of the __TEXT MergedOutputSection. This is more architecturally consistent, but would probably require a good deal of refactoring.
Tue, Mar 30, 5:02 PM · Restricted Project, Restricted Project
smeenai added a comment to D93203: [PS4] handle dllimport/export w.r.t vtables/rtti.

@compnerd, @smeenai do you have any further comments?

Tue, Mar 30, 2:35 PM · Restricted Project

Thu, Mar 25

smeenai committed rG33930a0787f6: [clang] Pass option directly to command. NFC (authored by smeenai).
[clang] Pass option directly to command. NFC
Thu, Mar 25, 11:36 AM
smeenai committed rG0135bc996d82: [clang] Always execute multi-stage install steps (authored by smeenai).
[clang] Always execute multi-stage install steps
Thu, Mar 25, 11:36 AM
smeenai closed D99322: [clang] Pass option directly to command. NFC.
Thu, Mar 25, 11:36 AM · Restricted Project
smeenai closed D99321: [clang] Always execute multi-stage install steps.
Thu, Mar 25, 11:36 AM · Restricted Project
smeenai requested review of D99322: [clang] Pass option directly to command. NFC.
Thu, Mar 25, 12:23 AM · Restricted Project
smeenai requested review of D99321: [clang] Always execute multi-stage install steps.
Thu, Mar 25, 12:22 AM · Restricted Project

Wed, Mar 24

smeenai added inline comments to D99305: [docs] Document our norms around reverts.
Wed, Mar 24, 4:42 PM · Restricted Project

Tue, Mar 23

smeenai added inline comments to D99217: [lld-macho] Fixed lld-version expectation in test so it works on Fuchsia. On Fuchsia, it's called Fuchsia LLD.
Tue, Mar 23, 4:17 PM · Restricted Project, Restricted Project
smeenai added a comment to D99217: [lld-macho] Fixed lld-version expectation in test so it works on Fuchsia. On Fuchsia, it's called Fuchsia LLD.

This seems to break the test on linux: http://45.33.8.238/linux/42505/step_11.txt

Probably because this now needs two spaces between : and LLD

Oops, I missed your comment before making mine. I thought not having strict whitespace would take care of this, but maybe not?

Tue, Mar 23, 4:17 PM · Restricted Project, Restricted Project
smeenai committed rG48d9b2fd8ea3: [lld] Fix test to work with and without a vendor string (authored by smeenai).
[lld] Fix test to work with and without a vendor string
Tue, Mar 23, 4:16 PM
smeenai added a comment to D99217: [lld-macho] Fixed lld-version expectation in test so it works on Fuchsia. On Fuchsia, it's called Fuchsia LLD.

This seems to break the test on linux: http://45.33.8.238/linux/42505/step_11.txt

Probably because this now needs two spaces between : and LLD

Tue, Mar 23, 4:10 PM · Restricted Project, Restricted Project
smeenai added inline comments to D99217: [lld-macho] Fixed lld-version expectation in test so it works on Fuchsia. On Fuchsia, it's called Fuchsia LLD.
Tue, Mar 23, 4:09 PM · Restricted Project, Restricted Project

Mar 20 2021

smeenai added a comment to D96403: [Android] Use -l:libunwind.a with --rtlib=compiler-rt.

Got it, thanks for all the info!

Mar 20 2021, 10:54 AM · Restricted Project

Mar 19 2021

smeenai added a comment to D96403: [Android] Use -l:libunwind.a with --rtlib=compiler-rt.

With NDK r22, I only see libunwind.a for armv7. Will it be provided for other architectures in future NDK versions?

NDK r23 should have a libunwind.a for all architectures. This change isn't in the r23 beta 2 that was just released, but it is in the current NDK canary build at https://ci.android.com/builds/branches/aosp-master-ndk/grid. (e.g. build 7220482).

Mar 19 2021, 6:54 PM · Restricted Project
smeenai updated subscribers of D96403: [Android] Use -l:libunwind.a with --rtlib=compiler-rt.

With NDK r22, I only see libunwind.a for armv7. Will it be provided for other architectures in future NDK versions?

Mar 19 2021, 4:34 PM · Restricted Project

Mar 16 2021

smeenai resigned from D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

Sounds good. I'll let Fangrui take a look then :)

Mar 16 2021, 10:14 AM · Restricted Project
smeenai added a comment to D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

The summary says !isLocal but the code says !isLazy. I'm assuming the code is correct.

Mar 16 2021, 9:42 AM · Restricted Project

Mar 15 2021

smeenai accepted D98648: [lld-macho] Place LC_FUNCTION_STARTS data at the right position.

LGTM

Mar 15 2021, 11:30 AM · Restricted Project, Restricted Project

Mar 11 2021

smeenai added inline comments to D97994: [lld/mac] ad-hoc sign dylibs and bundles on arm64 by default, support -(no_)adhoc_codesign flags.
Mar 11 2021, 11:26 AM · Restricted Project, Restricted Project
smeenai added inline comments to D97994: [lld/mac] ad-hoc sign dylibs and bundles on arm64 by default, support -(no_)adhoc_codesign flags.
Mar 11 2021, 11:21 AM · Restricted Project, Restricted Project

Mar 10 2021

smeenai accepted D91334: [compiler-rt] Set CMAKE_TRY_COMPILE_TARGET_TYPE to STATIC_LIBRARY when building builtins standalone.

This will already work as-is for the runtimes build (since it builds the builtins standalone), but builtins-config-ix already sets an equivalent option for compiler-rt's custom macros, so it should be fine to apply this one universally to the builtins as well (either in this file or in builtins-config-ix).

Mar 10 2021, 11:37 PM · Restricted Project
smeenai added a comment to D96404: [Android] Default to --rtlib=compiler-rt.

Hilariously enough, this breaks building compiler-rt itself inside LLVM's runtime builds setup for us. The runtimes build setup builds clang and then uses the just-built clang to build compiler-rt. That build fails to link since my just-built clang doesn't have compiler-rt available, because it's currently trying to build compiler-rt itself. That's a bug in the compiler-rt build system, and I sent out https://lists.llvm.org/pipermail/llvm-dev/2021-March/149137.html to ask what we should do about it.

Mar 10 2021, 10:56 PM · Restricted Project

Mar 9 2021

smeenai added a comment to D96164: [lld-macho] add code signature for native arm64 macOS.

Did this land without any tests?

Mar 9 2021, 10:37 AM · Restricted Project, Restricted Project

Mar 5 2021

smeenai committed rG9a2a167b6ca7: [DirectoryWatcher] Increase timeout to make test less flaky (authored by smeenai).
[DirectoryWatcher] Increase timeout to make test less flaky
Mar 5 2021, 5:50 PM
smeenai closed D97878: [DirectoryWatcher] Increase timeout to make test less flaky.
Mar 5 2021, 5:49 PM · Restricted Project
smeenai added a comment to D98067: [lld-macho] Replace debug-info-related assert with FIXME.

LGTM

Mar 5 2021, 2:22 PM · Restricted Project, Restricted Project
smeenai accepted D98067: [lld-macho] Replace debug-info-related assert with FIXME.
Mar 5 2021, 2:21 PM · Restricted Project, Restricted Project
smeenai added inline comments to D98053: [mac/lld] Fix scale computation for vector ops in PAGEOFF12 relocations.
Mar 5 2021, 1:44 PM · Restricted Project, Restricted Project
smeenai added inline comments to D98053: [mac/lld] Fix scale computation for vector ops in PAGEOFF12 relocations.
Mar 5 2021, 11:06 AM · Restricted Project, Restricted Project

Mar 4 2021

smeenai added a comment to D97878: [DirectoryWatcher] Increase timeout to make test less flaky.

This makes sense to me. I approve. Can we move the 3/60 seconds number to a const int value set somewhere higher up in the file as a global with a comment explaining this as well?

Mar 4 2021, 12:58 PM · Restricted Project
smeenai updated the diff for D97878: [DirectoryWatcher] Increase timeout to make test less flaky.

Address review comments

Mar 4 2021, 12:58 PM · Restricted Project
smeenai accepted D97865: [lld-macho] Bind re-exported symbols directly to implicitly-linked umbrellas.

LGTM

Mar 4 2021, 11:33 AM · Restricted Project, Restricted Project

Mar 3 2021

smeenai added a reviewer for D97878: [DirectoryWatcher] Increase timeout to make test less flaky: plotfi.
Mar 3 2021, 4:59 PM · Restricted Project
smeenai requested review of D97878: [DirectoryWatcher] Increase timeout to make test less flaky.
Mar 3 2021, 11:59 AM · Restricted Project

Mar 2 2021

smeenai accepted D89518: [windows-itanium] Add Windows Itanium How-To Guide.

Sorry for the delay here. This looks good; thank you!

Mar 2 2021, 5:30 PM · Restricted Project
smeenai added a comment to D97314: [libc++abi] Link against cxx-headers when available.

I'm a bit worried about using TARGET cxx-headers. Whether that evaluates to TRUE or FALSE depends on the order of target evaluation, which in this case is determined by the order in which you put projects into LLVM_ENABLE_PROJECTS/LLVM_ENABLE_RUNTIMES. I ran into this recently in D97256. Ideally we would use generator expressions but they don't support dependencies. Alternative is to either use patterns like "libcxx" IN_LIST LLVM_ENABLE_RUNTIMES or canonicalizing the order in which we process targets (which we already do in some cases). @smeenai, @beanz, @compnerd do you have any thoughts on this/other ideas?

Could we create those targets upfront regardless of the order projects are included in? And then we'd populate those targets later on in their respective CMake files, but at least they would be visible globally. Kind of like introducing a forward-declaration in C++ to break circular dependencies.

Would that make sense?

That's an interesting idea, I haven't thought of that but I like it. The question is where would those targets get defined. Could we use the top-level runtimes build for that purpose?

Mar 2 2021, 5:27 PM · Restricted Project
smeenai added a comment to D92808: [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of explicitly emitting retainRV or claimRV calls in the IR.

FYI, we're seeing test failures caused by this patch in iOS/arm64 builds when arc is used (simulator is fine though): https://bugs.chromium.org/p/chromium/issues/detail?id=1182642#c11

We'll try to investigate a bit more on our side, but I wanted to give an early(ish) heads-up in case others see this or whatnot.

Not sure if this landed before or after the 12.0 branch.

Thank you. Let me know when you have more information.

This isn't in release/12.x. The older version of the patch, which used attributes instead of operand bundles, was in release/12.x, but got reverted later.

Mar 2 2021, 5:19 PM · Restricted Project, Restricted Project
smeenai accepted D97797: [lld-macho][nfc] Parse more options using getLastArg{Value}.

I suppose it's more efficient to have a single iteration of the argument list, but I also don't think argument parsing efficiency matters at all (or at least doesn't matter enough for this change to be a problem), so LGTM.

Mar 2 2021, 4:43 PM · Restricted Project, Restricted Project
smeenai added inline comments to D97817: [CMake] Rename check-clang-tools to check-clang-tools-extra.
Mar 2 2021, 4:36 PM · Restricted Project
smeenai accepted D97817: [CMake] Rename check-clang-tools to check-clang-tools-extra.

If you care about eventually getting rid of the old check-clang-tools alias, you'd want to have a mailing list announcement/deprecation notices/etc. (I don't think leaving it around does any harm though.)

Mar 2 2021, 4:35 PM · Restricted Project
smeenai added a comment to D97786: LLDB: Use path relative to binary, not relative to debugger CWD, for finding .dwo files..

Is this rebased on main? The LLD for Mach-O changes look like they belong to a different diff.

Mar 2 2021, 10:53 AM · Restricted Project, Restricted Project, Restricted Project

Mar 1 2021

smeenai added a comment to D97610: [lld-macho] check minimum header length when opening linkable input files.

b) What's the motivation for this change? lld assumes that inputs are produced by a compiler or similar, and are generally valid. What problem is this solving?

Mar 1 2021, 5:18 PM · Restricted Project, Restricted Project
smeenai committed rG015d78a25e51: [lldb] Remove XPCServices symlinking (authored by smeenai).
[lldb] Remove XPCServices symlinking
Mar 1 2021, 11:24 AM
smeenai closed D97701: [lldb] Remove XPCServices symlinking.
Mar 1 2021, 11:24 AM · Restricted Project
smeenai added inline comments to D85770: Build a flat LLDB.framework for embedded Darwin targets.
Mar 1 2021, 9:49 AM · Restricted Project
smeenai requested review of D97701: [lldb] Remove XPCServices symlinking.
Mar 1 2021, 9:47 AM · Restricted Project

Feb 26 2021

smeenai accepted D97104: [lld-macho] Add test for a variety of arm64 relocations.

LGTM

Feb 26 2021, 4:33 PM · Restricted Project, Restricted Project
smeenai accepted D97103: [lld-macho] Don't emit rebase opcodes for subtractor minuend relocs.

LGTM

Feb 26 2021, 4:21 PM · Restricted Project, Restricted Project
smeenai accepted D97057: [lld-macho] Properly test subtractor relocations & fix their attributes.

LGTM

Feb 26 2021, 4:20 PM · Restricted Project, Restricted Project
smeenai added inline comments to D85770: Build a flat LLDB.framework for embedded Darwin targets.
Feb 26 2021, 2:31 PM · Restricted Project
smeenai added a comment to D96613: [lld] Add options to trace all symbols and to trace all symbols originated from a file.
  • If you want to integrate the functionality in your build system (e.g. you're trying to generate an aggregated report for all the libraries you build), a pipeline is much harder to integrate into your build system, vs. just adding an argument.
  • You have to worry about platform differences; e.g., lots of Linux utilities have different arguments or behaviors than their BSD (and therefore macOS) equivalents, and Windows doesn't have these utilities at all.

I think a small set of composable options for build dependency analysis will be useful, but we need to consolidate the requests and think of their composability/maintenance/etc. Apologies but I feel that "Linux utilities have different arguments or behaviors than their BSD" in this particular context is probably a weak argument: here we use LLVM binary utilities and a common 'awk' (which can be reimplemented in build system language straightforwardly). Many downstream groups have bundled LLVM binary utilities as platform-neutral utilities which are already used heavily in build systems. We don't necessarily re-invent features provided by them in LLD.

Feb 26 2021, 1:11 PM · Restricted Project
smeenai added a comment to D96613: [lld] Add options to trace all symbols and to trace all symbols originated from a file.

https://sourceware.org/bugzilla/show_bug.cgi?id=27407
I think the functionality can be straightforwardly emulated. For example, llvm-nm -Du dumps undefined symbols in .dynsym.

% ld.lld @response.txt $(llvm-nm -Du usr/lib64/libc.so.6 | awk '{print "-y"substr($0,20)}')

This even works with versioned symbols while the patch doesn't. You can tweak -u: e.g. -U dumps defined symbols (-U is not in nm).
This is the flexibility provided by composing tools, which will be a bit inconvenient to implement in code.

The patch uses this->file, however, the value may change if the symbol gets resolved to other files. In the cases I can conceive we want the trace of the full lifetime of a symbol, not only when it is bound to a specific file.

In general, while there's a lot of value in being able to compose tools, I strongly disagree that it's an adequate replacement for having functionality directly built into a tool:

My opinion on this is still case by case. For the particular features, (1) the lack of customization of -u/-U` and (2) the this->file usage is my main concern about the new option.
(And a minor concern: needToTraceSymbol cost - that was why I re-stated that whether it would regress the symbol resolution performance)

Feb 26 2021, 12:18 PM · Restricted Project
smeenai added a comment to D96613: [lld] Add options to trace all symbols and to trace all symbols originated from a file.

https://sourceware.org/bugzilla/show_bug.cgi?id=27407
I think the functionality can be straightforwardly emulated. For example, llvm-nm -Du dumps undefined symbols in .dynsym.

% ld.lld @response.txt $(llvm-nm -Du usr/lib64/libc.so.6 | awk '{print "-y"substr($0,20)}')

This even works with versioned symbols while the patch doesn't. You can tweak -u: e.g. -U dumps defined symbols (-U is not in nm).
This is the flexibility provided by composing tools, which will be a bit inconvenient to implement in code.

The patch uses this->file, however, the value may change if the symbol gets resolved to other files. In the cases I can conceive we want the trace of the full lifetime of a symbol, not only when it is bound to a specific file.

Feb 26 2021, 12:00 PM · Restricted Project

Feb 24 2021

smeenai accepted D94342: [lld-macho] Basic support for linkage and visibility attributes in LTO.

LGTM

Feb 24 2021, 2:47 PM · Restricted Project, Restricted Project

Feb 22 2021

smeenai committed rG389955c69a3b: [lldb] add check for libcxx runtime (authored by rmaz).
[lldb] add check for libcxx runtime
Feb 22 2021, 5:56 PM
smeenai closed D97227: [lldb] add check for libcxx runtime.
Feb 22 2021, 5:55 PM · Restricted Project
smeenai accepted D97227: [lldb] add check for libcxx runtime.

LGTM. Do you have commit access?

Feb 22 2021, 3:09 PM · Restricted Project
smeenai added a comment to D97227: [lldb] add check for libcxx runtime.

My understanding of the issue is that, with the runtimes build, the cxx target will get created after we process LLDB's build files. The TARGET cxx check here will therefore fail, but the cxx target will end up existing later, and CMake is perfectly fine adding a dependency to a target that gets created later, so the failing check is spurious. The libcxx IN_LIST LLVM_ENABLE_RUNTIMES is basically a proxy for "the cxx target doesn't exist right now but will exist later". Could you add an explanation of the issue to the summary or the code comment?

Feb 22 2021, 2:27 PM · Restricted Project

Feb 19 2021

smeenai added a reviewer for D96613: [lld] Add options to trace all symbols and to trace all symbols originated from a file: grimar.
Feb 19 2021, 5:06 PM · Restricted Project

Feb 16 2021

smeenai added a comment to D96523: [libc++] Rewrite the tuple constructors to be strictly Standards conforming.

Will this fix https://bugs.llvm.org/show_bug.cgi?id=17550?

Feb 16 2021, 5:40 PM · Restricted Project

Feb 11 2021

smeenai added reviewers for D96540: [llvm/Support] Add SHA256 implementation: mehdi_amini, ruiu, terrelln.

Adding some reviewers who've contributed to the SHA1 implementation.

Feb 11 2021, 2:17 PM · Restricted Project

Feb 10 2021

smeenai requested changes to D96433: llvm cmake: Fix NATIVE build when a toolchain file is already defined.

The NATIVE build is also used for cross-compilation scenarios (e.g. you're building on Windows but targeting Linux, but you still need tools like tablegen to be built targeting Windows), and for those cases, using the same CMAKE_TOOLCHAIN_FILE as the main build is completely incorrect.

Feb 10 2021, 11:16 AM · Restricted Project

Feb 8 2021

smeenai abandoned D96300: [DO NOT SHIP] Dummy change to test Herald rule.

It works! Thanks @mehdi_amini

Feb 8 2021, 5:50 PM · Restricted Project, Restricted Project
smeenai updated the diff for D96300: [DO NOT SHIP] Dummy change to test Herald rule.

Take 2

Feb 8 2021, 5:47 PM · Restricted Project, Restricted Project
smeenai accepted D95900: [lld-macho] Fill out release notes for 12.x.

LGTM

Feb 8 2021, 5:44 PM · Restricted Project
smeenai requested review of D96300: [DO NOT SHIP] Dummy change to test Herald rule.
Feb 8 2021, 3:16 PM · Restricted Project, Restricted Project

Feb 7 2021

smeenai added a comment to D96164: [lld-macho] add code signature for native arm64 macOS.
In D96164#2547158, @gkm wrote:

In order to perform ad-hoc codesign, I will need to compute sha256 of the program's pages. I see no other part of LLVM that uses a sha256 library. What library should I use?

LLVM tries to not depend on external libraries if possible. Given that sha256 isn't that much code (https://golang.org/src/crypto/sha256/), just adding a fresh implementation of it (to lld/MachO for now) is probably the way to go.

Feb 7 2021, 12:57 PM · Restricted Project, Restricted Project

Feb 5 2021

smeenai added inline comments to D95204: [lld-macho] Switch default to new Darwin backend.
Feb 5 2021, 6:41 PM · Restricted Project, Restricted Project, Restricted Project

Feb 3 2021

smeenai accepted D95843: [tools][llvm-libtool] Emit warnings for files without symbols.

A few other cases that might be good to have test cases for as well, but I'll let you judge that:

  • Empty (and non-empty) archive members
  • Empty (and non-empty) universal binary members, possibly with and without -arch_only
Feb 3 2021, 5:42 PM · Restricted Project
smeenai added a comment to D95843: [tools][llvm-libtool] Emit warnings for files without symbols.

@smeenai : many thanks for the review,

  1. regarding bitcode files: cctools libtool doesn't warn on them
  2. regarding input files which are filtered out by -arch_only: cctools libtool doesn't warn on them either

Perhaps, it makes sense to add tests for these cases

Feb 3 2021, 5:10 PM · Restricted Project
smeenai added a comment to D95843: [tools][llvm-libtool] Emit warnings for files without symbols.

Should we warn on files that would have been filtered out by -arch_only? (What does cctools libtool do?)

Feb 3 2021, 4:38 PM · Restricted Project

Feb 2 2021

smeenai accepted D95265: [lld-macho] Force-loading should share code path with regular archive loads.

LGTM

Feb 2 2021, 3:49 PM · Restricted Project
smeenai added inline comments to D94316: [lld-macho] Associate each Symbol with an InputFile.
Feb 2 2021, 3:41 PM · Restricted Project
smeenai accepted D94316: [lld-macho] Associate each Symbol with an InputFile.

LGTM

Feb 2 2021, 3:37 PM · Restricted Project
smeenai added a reviewer for D95900: [lld-macho] Fill out release notes for 12.x: tstellar.
Feb 2 2021, 3:33 PM · Restricted Project

Feb 1 2021

smeenai added a comment to D95534: clang-cl: Invent a /winsysroot concept.

I saw this on LLVM Weekly, and I like it a lot :)

Feb 1 2021, 11:45 AM · Restricted Project
smeenai accepted D95666: [CMake] Remove some dead code in llvm_install_library_symlink().

I'm also confused how the ALWAYS_GENERATE name related to its actual functionality ... might have been something historic?

Feb 1 2021, 9:29 AM · Restricted Project

Jan 22 2021

smeenai accepted D95213: [lld-macho] Ignore -lto_library.

LGTM

Jan 22 2021, 7:54 AM · Restricted Project

Jan 19 2021

smeenai added a comment to D94938: [lld-macho][NFC] Add some new version options, plus a new option group for versions.

We've been pretty liberal with our use of option groups, mostly to organize the help text. I agree that the commit message should reflect that there's some new version options being added as well (tvos, watchos, bridgeos, and driverkit, if I'm reading the diff right).

Jan 19 2021, 12:20 PM · Restricted Project

Jan 12 2021

smeenai added a comment to D89845: Add the ability to extract the unwind rows from DWARF Call Frame Information..

Running the unit test with ASAN gives me the following. The stack trace isn't the most helpful, unfortunately, but it should hopefully be something to go on.

Jan 12 2021, 6:57 PM · Restricted Project
smeenai committed rG0066a09579ca: [libc++] Give extern templates default visibility on gcc (authored by smeenai).
[libc++] Give extern templates default visibility on gcc
Jan 12 2021, 6:31 PM
smeenai closed D35388: [libc++] Give extern templates default visibility on gcc.
Jan 12 2021, 6:31 PM · Restricted Project, Restricted Project
smeenai added reviewers for D94547: [lld-macho] Run ObjCContractPass during LTO: ahatanak, steven_wu.
Jan 12 2021, 12:46 PM · Restricted Project
smeenai added a comment to D35388: [libc++] Give extern templates default visibility on gcc.

It's been a long time since I've contributed to libc++, and the pre-merge CI setup is a massive improvement over what we had before. A huge kudos to everyone who made it possible :)

Jan 12 2021, 10:36 AM · Restricted Project, Restricted Project
smeenai updated the diff for D35388: [libc++] Give extern templates default visibility on gcc.

Rebase

Jan 12 2021, 10:29 AM · Restricted Project, Restricted Project
smeenai added a comment to D93984: [doc] Place sha256 in lld/README.md into brackets.

Thanks, I committed this. You might get some buildbot failure emails. Given the nature of this change, they're overwhelmingly likely to be false positives, but feel free to forward them to me if you want confirmation. (Search for me in LLVM's git log to get my email.)

Jan 12 2021, 10:20 AM · Restricted Project
smeenai committed rGb117d17d264f: [doc] Place sha256 in lld/README.md into backticks (authored by emilengler).
[doc] Place sha256 in lld/README.md into backticks
Jan 12 2021, 10:20 AM
smeenai closed D93984: [doc] Place sha256 in lld/README.md into brackets.
Jan 12 2021, 10:20 AM · Restricted Project