Page MenuHomePhabricator
Feed Advanced Search

Yesterday

delcypher requested changes to D100239: [compiler-rt] assert max virtual address is <= mmap range size.
Fri, Apr 16, 12:48 PM · Restricted Project
delcypher accepted D100234: [compiler-rt][asan] use full vm range on apple silicon macs.

LGTM

Fri, Apr 16, 12:32 PM · Restricted Project

Tue, Apr 13

delcypher committed rG4c0bc69490a5: Ship `llvm-cxxfilt` in the toolchain. (authored by delcypher).
Ship `llvm-cxxfilt` in the toolchain.
Tue, Apr 13, 11:59 AM
delcypher closed D100405: Ship `llvm-cxxfilt` in the toolchain..
Tue, Apr 13, 11:58 AM · Restricted Project
delcypher requested review of D100405: Ship `llvm-cxxfilt` in the toolchain..
Tue, Apr 13, 11:56 AM · Restricted Project

Mon, Apr 12

delcypher added a comment to D100234: [compiler-rt][asan] use full vm range on apple silicon macs.

LGTM. Do we have a test that fails without this, but succeeds with it (on AS)?

Mon, Apr 12, 3:38 PM · Restricted Project
delcypher requested changes to D100234: [compiler-rt][asan] use full vm range on apple silicon macs.
Mon, Apr 12, 3:32 PM · Restricted Project

Fri, Apr 9

delcypher added a comment to D100157: [compiler-rt] add SANITIZER_OSX.

Just floating this as on option. We could call the new define SANITIZER_MACOS.

Fri, Apr 9, 2:41 PM · Restricted Project
delcypher added a comment to D100157: [compiler-rt] add SANITIZER_OSX.

@aralisza You can ignore the lint checks here.

Fri, Apr 9, 2:37 PM · Restricted Project

Thu, Apr 8

delcypher added a comment to D100157: [compiler-rt] add SANITIZER_OSX.

I'm not a big fan of the name but the sensible name (SANTIZER_MAC) is already taken unfortunately.

Thu, Apr 8, 11:32 PM · Restricted Project
delcypher committed rGf66e05a720f7: Include `count` in AppleClang toolchains. (authored by delcypher).
Include `count` in AppleClang toolchains.
Thu, Apr 8, 2:01 PM
delcypher closed D100087: Include `count` in AppleClang toolchains..
Thu, Apr 8, 2:00 PM · Restricted Project

Wed, Apr 7

delcypher accepted D96295: [Darwin] enable duplicate_os_log_reports lit test.
Wed, Apr 7, 11:23 PM · Restricted Project
delcypher added a comment to D96295: [Darwin] enable duplicate_os_log_reports lit test.

@aralisza Sorry I missed this patch. LGTM.

Wed, Apr 7, 11:23 PM · Restricted Project
delcypher requested review of D100087: Include `count` in AppleClang toolchains..
Wed, Apr 7, 9:38 PM · Restricted Project
delcypher committed rG73cbc7f60ed9: Include `llvm-config` and `not` in AppleClang toolchains. (authored by delcypher).
Include `llvm-config` and `not` in AppleClang toolchains.
Wed, Apr 7, 9:30 PM
delcypher closed D100086: Include `llvm-config` and `not` in AppleClang toolchains..
Wed, Apr 7, 9:30 PM · Restricted Project
delcypher requested review of D100086: Include `llvm-config` and `not` in AppleClang toolchains..
Wed, Apr 7, 9:24 PM · Restricted Project

Tue, Apr 6

delcypher added a comment to D99434: [TSAN] Honor acquire failure mode on AtomicCAS.

@bruno Thanks for the patch. TSan's runtime isn't my specialty so I've added other reviewers.

Tue, Apr 6, 8:52 AM · Restricted Project
delcypher added a reviewer for D99434: [TSAN] Honor acquire failure mode on AtomicCAS: kubamracek.
Tue, Apr 6, 8:45 AM · Restricted Project
delcypher added a reviewer for D99434: [TSAN] Honor acquire failure mode on AtomicCAS: aralisza.
Tue, Apr 6, 8:45 AM · Restricted Project
delcypher added a comment to D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..

LGTM (I've tested this together with D99621 locally for the Fuchsia build and everything seems to be working).

Tue, Apr 6, 8:34 AM · Restricted Project
delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

@phosek Thanks for the review.

Tue, Apr 6, 8:34 AM · Restricted Project
delcypher committed rGfd28517d878e: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt… (authored by delcypher).
[CMake][Compiler-rt] Make it possible to configure standalone compiler-rt…
Tue, Apr 6, 8:33 AM
delcypher committed rGfa818bb0357d: [CMake][Compiler-rt] Compute `LLVM_MAIN_SRC_DIR` assuming the monorepo (authored by delcypher).
[CMake][Compiler-rt] Compute `LLVM_MAIN_SRC_DIR` assuming the monorepo
Tue, Apr 6, 8:33 AM
delcypher closed D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
Tue, Apr 6, 8:33 AM · Restricted Project
delcypher closed D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
Tue, Apr 6, 8:33 AM · Restricted Project
delcypher updated the diff for D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
  • Renamed CRT_SRC_ROOT_PATH to COMPILER_RT_ROOT_SRC_PATH
Tue, Apr 6, 8:26 AM · Restricted Project
delcypher accepted D99911: [Sanitizer] Adopt Python 3 for iOS simulator test scripts.

LGTM

Tue, Apr 6, 8:09 AM · Restricted Project

Sun, Apr 4

delcypher added a comment to D99690: [builtins] Build for arm64_32 for watchOS (Darwin).

The code in compiler-rt/cmake/builtin-config-ix.cmake is reasonable. Although we (Apple) should probably upstream our change because it's slightly different. I'm not sure about the change in compiler-rt/lib/builtins/CMakeLists.txt we don't have the change you made. I'll put a patch up to upstream our version and we'll see how it goes.

Sun, Apr 4, 9:14 AM · Restricted Project

Sat, Apr 3

delcypher added a comment to D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..

Thanks, this seems to work fine in my setups now!

When building via llvm/runtimes (which I don't use so I don't have a test setup handy), I believe that sets TARGET_TRIPLE somehow. Does that end up trying to probe the triple from the compiler in that case? I guess it'd always be correct, but if we'd avoid the whole probing in that case too, that'd be great. Maybe it already does that - or the runtimes build does thing differently somehow? (I've just tried to read llvm/runtimes/CMakeLists.txt.) Or maybe we end up in a case where these routines aren't called at all in such a build?

I might be able to try to set up such a build configuration in a couple days to try that out though...

Sat, Apr 3, 3:38 PM · Restricted Project
delcypher added inline comments to D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
Sat, Apr 3, 3:19 PM · Restricted Project
delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

@mstorsjo I think I've fixed the patch to support the standalone builtins build. Can you test again?

Thanks, now it seems to work!

Sat, Apr 3, 2:51 PM · Restricted Project
delcypher updated the diff for D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
  • Handle gcc and clang in the same branch.
  • Prefer CMAKE_C_COMPILER_TARGET to compute TARGET_TRIPLE if it and COMPILER_RT_DEFAULT_TARGET_ONLY are specified.
Sat, Apr 3, 2:44 PM · Restricted Project

Fri, Apr 2

delcypher added inline comments to D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
Fri, Apr 2, 5:27 PM · Restricted Project
delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

@mstorsjo I think I've fixed the patch to support the standalone builtins build. Can you test again?

Fri, Apr 2, 4:12 PM · Restricted Project
delcypher updated the diff for D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

Add an extra sanity check to make sure we're finding the right path.

Fri, Apr 2, 4:11 PM · Restricted Project
delcypher updated the diff for D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
  • Add get_compiler_rt_root_source_dir function for computing where the compiler-rt source tree root is located.
  • Handle Compiler-RT builtins standalone build.
Fri, Apr 2, 4:05 PM · Restricted Project
delcypher added inline comments to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
Fri, Apr 2, 2:36 PM · Restricted Project
delcypher updated the diff for D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
  • Move part of warning outside of if (LLVM_CONFIG_PATH) so that it always shows up.
  • s/MAIN_SOURCE_DIR/MAIN_SRC_DIR/ - I accidently renamed the variable so I put it back.
Fri, Apr 2, 1:11 PM · Restricted Project
delcypher added inline comments to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
Fri, Apr 2, 1:01 PM · Restricted Project
delcypher updated the summary of D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
Fri, Apr 2, 12:56 PM · Restricted Project
delcypher updated the summary of D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
Fri, Apr 2, 12:55 PM · Restricted Project
delcypher updated the summary of D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
Fri, Apr 2, 12:54 PM · Restricted Project
delcypher added a comment to D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..

@mstorsjo @phosek I've adapted this patch to changes in https://reviews.llvm.org/D99620 and I've hoisted the code out of if (LLVM_CONFIG_PATH). This required me to rewrite compiler_rt_mock_llvm_cmake_config_set_target_triple so that it no longer uses llvm-config because we can't assume it's available anymore. Instead we inspect the compiler being used and try to get a target triple from it.

Fri, Apr 2, 12:53 PM · Restricted Project
delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

@mstorsjo I've updated the patch to hoist the code out of LLVM_CONFIG_PATH.

Fri, Apr 2, 12:38 PM · Restricted Project
delcypher updated the diff for D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
Fri, Apr 2, 12:04 PM · Restricted Project
delcypher updated the diff for D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
  • Hoist code out of LLVM_CONFIG_PATH branch.
Fri, Apr 2, 12:03 PM · Restricted Project
delcypher added a comment to D99690: [builtins] Build for arm64_32 for watchOS (Darwin).

@drodriguez In future could you add me as a reviewer to Apple CMake changes as well?

Fri, Apr 2, 8:31 AM · Restricted Project

Thu, Apr 1

delcypher added inline comments to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
Thu, Apr 1, 4:00 PM · Restricted Project
delcypher updated the summary of D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
Thu, Apr 1, 9:52 AM · Restricted Project
delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

@mstorsjo @phosek @tstellar Can this patch be approved and landed, or is there more to discuss?

Thu, Apr 1, 9:49 AM · Restricted Project

Wed, Mar 31

delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

@delcypher Ok, thanks. So my question for for @phosek is what if we replaced the usage of llvm-config with find_package(LLVM) would that change also enable the clean ups you are talking about? Or does relying on any kind of out-of-tree files make the build more complicated?

@tstellar

@phosek likely has his own opinions on this but I wouldn't consider using find_package(LLVM) a clean up. find_package(LLVM) requires the the LLVM CMake files to actually be available and not all toolchain vendors ship them. This would make building a standalone build of compiler-rt even more painful than it already is.

I think ideally we should move to a world where neither the llvm-config binary nor doing find_package(LLVM) is required to build compiler-rt. I think it's fine for compiler-rt to depend on CMake source files in the LLVM source tree (it already does) but depending on any LLVM specific build artefacts (like llvm-config or a LLVM CMake package) that a toolchain might not ship is a pain which I don't think is technically necessary.

+1 for this. Preferring finding things from the surrounding monorepo is much nicer than relying on either llvm-config or LLVMConfig.cmake to be installed (as the toolchains I build don't ship with those).

Compiler-rt currently depends on at least the following

  • The LLVMConfig.cmake file that's generated by the build of LLVM. It's located at lib/cmake/llvm/LLVMConfig.cmake in the root of an LLVM build and is optionally installed by toolchain maintainers.
  • Several CMake files that lives in the llvm/cmake/modules in the llvm source tree. LLVMConfig.cmake does include(${LLVM_CMAKE_DIR}/LLVM-Config.cmake) where LLVM_CMAKE_DIR points at the directory containing this file. For a build directory LLVM_CMAKE_DIR points into the llvm source tree, for an installed toolchain LLVM_CMAKE_DIR will point to where the files where optionally installed by toolchain maintainers.

It doesn't strictly require those, at least not for all build configurations: I do build compiler-rt (since a couple years) without an installed llvm-config and without LLVMConfig.cmake available (without any custom patches). This hits the case on lines 216-220 above, printing a build time warning about "UNSUPPORTED COMPILER-RT CONFIGURATION DETECTED: llvm-config not found. Reconfigure with -DLLVM_CONFIG_PATH=path/to/llvm-config", but it builds just fine despite that. I guess that I can't build and run tests in that configuration though, but other than that it does work. I do build with -DCMAKE_C_COMPILER_TARGET=<triple> -DCOMPILER_RT_DEFAULT_TARGET_ONLY=TRUE though, if that makes any difference.

Wed, Mar 31, 10:04 AM · Restricted Project

Tue, Mar 30

delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

@delcypher Ok, thanks. So my question for for @phosek is what if we replaced the usage of llvm-config with find_package(LLVM) would that change also enable the clean ups you are talking about? Or does relying on any kind of out-of-tree files make the build more complicated?

Tue, Mar 30, 5:48 PM · Restricted Project
delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

We still build compiler-rt in non-monorepo configuration for Fedora. Which files from the llvm directory (or other directories in the monorepo) does compiler-rt depend on?

@tstellar Several. This subsequent patch (https://reviews.llvm.org/D99621) might illuminate some of this because it starts the work of trying to remove the dependency on the LLVMConfig.cmake file which is generated by an LLVM build but isn't necessarily shipped with toolchains.

Tue, Mar 30, 4:53 PM · Restricted Project
delcypher retitled D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout. from [CMake][Compiler-rt] Fix `LLVM_MAIN_SRC_DIR` to be correct when `llvm-config` reports a path that doesn't exist. to [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
Tue, Mar 30, 4:32 PM · Restricted Project
delcypher added a comment to D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..

On Linux "CC=gcc CXX=g++ cmake -G Ninja -DCOMPILER_RT_INCLUDE_TESTS=ON ../../llvm-project/compiler-rt" works for me without the patch

Tue, Mar 30, 4:31 PM · Restricted Project
delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

We still build compiler-rt in non-monorepo configuration for Fedora. Which files from the llvm directory (or other directories in the monorepo) does compiler-rt depend on?

Tue, Mar 30, 4:20 PM · Restricted Project
delcypher added inline comments to D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
Tue, Mar 30, 4:11 PM · Restricted Project
delcypher updated the diff for D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
  • Add comment clarifying the intended use case of the configuration that doesn't depend on LLVMConfig.cmake.
Tue, Mar 30, 4:10 PM · Restricted Project
delcypher added a comment to D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..

Do you know what we need LLVMConfig.cmake for? Could we remove that dependency altogether? It's not used by any other runtime as far as I'm aware.

I wouldn't want to remove the dependency at this stage as not enough of this new code has been tested (I only tested on macOS). However, I think this patch could used as a stepping stone towards completely removing the dependency on LLVMConfig.cmake. If we landed this and did the necessary work to make this new code path work on all the host platforms we care about then I think we could remove the dependency on LLVMConfig.cmake. I'd like to see that happen because the requirement makes testing harder and seems unnecessary.

SGTM

The actions that the new compiler_rt_mock_llvm_cmake_config macro take do what I found to be necessary to get the CMake configure to work without having LLVMConfig.cmake present with on a macOS host. Basically this seems to be

  • Setting TARGET_TRIPLE. The build system fails in weird and wonderful ways when this is an empty string. SHAKES FIST AT CMAKE.

I see only two dependencies on this variable in https://github.com/llvm/llvm-project/blob/a360a9786f5f82f4beff6fdcec12b40ee392db7a/compiler-rt/cmake/Modules/CompilerRTUtils.cmake#L317 and https://github.com/llvm/llvm-project/blob/a360a9786f5f82f4beff6fdcec12b40ee392db7a/compiler-rt/cmake/Modules/AddCompilerRT.cmake#L131.

Tue, Mar 30, 4:04 PM · Restricted Project
delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

@phosek @yln I've made the change.

Tue, Mar 30, 3:30 PM · Restricted Project
delcypher updated the summary of D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
Tue, Mar 30, 3:29 PM · Restricted Project
delcypher updated the diff for D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

Make relying on the monorepo layout the default and using llvm-config a deprecated fallback.

Tue, Mar 30, 3:28 PM · Restricted Project
delcypher added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

Other runtimes like libc++, libc++abi and libunwind already assume the monorepo layout and don't rely on llvm-config. Removing the llvm-config dependency would allow further cleanups in the compiler-rt build so this is a highly desirable change. Given that, I'd actually prefer just making this the default behavior.

If you want to be extra cautious, then maybe we could invert this and try to use ${CMAKE_CURRENT_SOURCE_DIR}/../llvm by default, and only if it doesn't exist, fallback onto llvm-config but print a warning that we're going to remove this behavior soon.

Tue, Mar 30, 3:03 PM · Restricted Project
delcypher added a comment to D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..

Do you know what we need LLVMConfig.cmake for? Could we remove that dependency altogether? It's not used by any other runtime as far as I'm aware.

Tue, Mar 30, 2:56 PM · Restricted Project
delcypher edited reviewers for D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout., added: mstorsjo, Hahnfeld, yln, kubamracek, aralisza, arphaman, phosek, beanz, vitalybuka, thakis; removed: llvm-commits.
Tue, Mar 30, 2:36 PM · Restricted Project
delcypher requested review of D99621: [CMake][Compiler-rt] Make it possible to configure standalone compiler-rt without `LLVMConfig.cmake`..
Tue, Mar 30, 2:32 PM · Restricted Project
delcypher requested review of D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..
Tue, Mar 30, 2:31 PM · Restricted Project

Wed, Mar 24

delcypher accepted D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

@yln I've suggested some documentation we might want to add to the new interface. I'll leave it up to you if you want to add it. Other than that LGTM.

Wed, Mar 24, 11:22 AM · Restricted Project

Tue, Mar 23

delcypher added a comment to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

@yln the linked commit from the description uses swift_task_set_tsan_hooks. I don't see any use of that here. Are going for a different approach now?

Tue, Mar 23, 4:47 PM · Restricted Project

Mar 17 2021

delcypher added a comment to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
In D98810#2632928, @yln wrote:

@yln Could we add a test case for some of this new functionality?

We could add a lit testcase that has something like:

RUN: %clang -fsanitize=thread %s -o %t ; %run %t | FileCheck -check-prefixes=CHECK-NO-HOOK,CHECK %s
RUN: %clang -fsanitize=thread -Dtest_task_set_tsan_hooks %s -o %t.with_hook ; %run %t.with_hook | FileCheck -check-prefixes=CHECK-HOOK,CHECK %s

// CHECK-NO-HOOK-NOT: swift_task_set_tsan_hooks CALLED

#if defined(test_swift_task_set_tsan_hooks)
void swift_task_set_tsan_hooks(void*, void*) {
  // CHECK-HOOK: swift_task_set_tsan_hooks CALLED
  printf("swift_task_set_tsan_hooks CALLED\n");
}
#endif


int main() {
  // CHECK: DONE
  printf("DONE\n");
}

That way we test both swift_task_set_tsan_hooks being available and not being available at run time.

Note I'm not sure if it's safe to call printf from the point where TSan calls swift_task_set_tsan_hooks but if it isn't we can probably work around this by setting a variable and reading it later from main().

I thought about how to test this, but concluded that a test like this does not provide much value. The real tests for this are the integration tests in the Swift repo.
Let me know if you insist on adding a test like this.

Mar 17 2021, 10:09 PM · Restricted Project
delcypher requested changes to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

@yln Could we add a test case for some of this new functionality?

Mar 17 2021, 1:54 PM · Restricted Project

Mar 16 2021

delcypher accepted D98735: [asan] disable MallocNanoZone for no fd test on darwin.

LGTM

Mar 16 2021, 3:13 PM · Restricted Project

Mar 11 2021

delcypher accepted D98453: [asan] disable no-fd test on darwin.

LGTM

Mar 11 2021, 4:33 PM · Restricted Project

Mar 10 2021

delcypher added a comment to D98291: [compiler-rt] Fix stale incremental builds when using `LLVM_BUILD_EXTERNAL_COMPILER_RT=ON`..

Looks good!

By the way, Apple Clang releases also build compiler-rt this way, so it would be worth checking with @arphaman that he's okay with the change.

Mar 10 2021, 10:09 AM · Restricted Project
delcypher committed rGa159f91c8d06: [compiler-rt] Fix stale incremental builds when using… (authored by delcypher).
[compiler-rt] Fix stale incremental builds when using…
Mar 10 2021, 9:43 AM
delcypher closed D98291: [compiler-rt] Fix stale incremental builds when using `LLVM_BUILD_EXTERNAL_COMPILER_RT=ON`..
Mar 10 2021, 9:42 AM · Restricted Project

Mar 9 2021

delcypher added a comment to D98291: [compiler-rt] Fix stale incremental builds when using `LLVM_BUILD_EXTERNAL_COMPILER_RT=ON`..

So... this patch is fine. (marked as approved). That said, we should really be working to remove the LLVM_BUILD_EXTERNAL_COMPILER_RT option entirely in favor of just using LLVM_ENABLE_RUNTIMES=compiler-rt. That build process does support invoking the sub-project build on build invocation to make sure builds get re-run, and it supports better understanding of the dependencies between runtimes.

Have you considered using that instead of LLVM_BUILD_EXTERNAL_COMPILER_RT?

Mar 9 2021, 8:37 PM · Restricted Project
delcypher added a comment to D98291: [compiler-rt] Fix stale incremental builds when using `LLVM_BUILD_EXTERNAL_COMPILER_RT=ON`..

When using Ninja, does this mean running a null build is no longer a null build, but it at least always invokes this sub-build? Not saying that's bad, just want to understand the change. What does the output of just "ninja" say in that case?

Mar 9 2021, 8:28 PM · Restricted Project
delcypher updated the summary of D98291: [compiler-rt] Fix stale incremental builds when using `LLVM_BUILD_EXTERNAL_COMPILER_RT=ON`..
Mar 9 2021, 2:38 PM · Restricted Project
delcypher updated the diff for D98291: [compiler-rt] Fix stale incremental builds when using `LLVM_BUILD_EXTERNAL_COMPILER_RT=ON`..
  • update description
Mar 9 2021, 2:37 PM · Restricted Project
delcypher requested review of D98291: [compiler-rt] Fix stale incremental builds when using `LLVM_BUILD_EXTERNAL_COMPILER_RT=ON`..
Mar 9 2021, 2:18 PM · Restricted Project

Mar 5 2021

delcypher accepted D98089: [sanitizers] fix print-module-map test on linux.

LGTM.

Mar 5 2021, 4:38 PM · Restricted Project
delcypher added a comment to D97746: [ubsan] support print_module_map flag in standalone mode.

It's slightly complicated to write a platform-agnostic test because the strings printed are different for each platform. Maybe the right course of action is to make at least the heading of the module map section be uniform? What do you think?

There is proposed regexp version which works for linux and should work for OSX. I don't find it complicated at all.

I don't mind to unify, in a separate patch. However "Process module map" does not match Linux output. I didn't check content of darwin output if it's reasonable to rename it into "memory map".

Mar 5 2021, 3:39 PM · Restricted Project
delcypher updated subscribers of D88938: [llvm-xsan] Introduce llvm-xsan.

I can't see "rdar" content and motivations for these scripts, and I don't expect myself extend my workflow with another layer between me and sanitizers.
As a negative side, if it's committed it will be community responsibility to maintain.
But I have no strong opinion so I am going to resign.

Mar 5 2021, 3:28 PM · Restricted Project

Mar 2 2021

delcypher accepted D97746: [ubsan] support print_module_map flag in standalone mode.

LGTM but let's give @vitalybuka time to take a look

Mar 2 2021, 7:15 PM · Restricted Project
delcypher added a comment to D97746: [ubsan] support print_module_map flag in standalone mode.

Since the print messages are different per platform, it would be difficult to write a platform-agnostic test.

Mar 2 2021, 7:14 PM · Restricted Project

Feb 26 2021

delcypher accepted D97509: [darwin] switch blocking mutex from osspinlock to os_unfair_lock.
Feb 26 2021, 7:19 PM · Restricted Project
delcypher requested changes to D97509: [darwin] switch blocking mutex from osspinlock to os_unfair_lock.

LGTM apart from the owner_ check. Turning as many of the runtime checks into compile time checks seems like a good idea :)

Feb 26 2021, 5:31 PM · Restricted Project

Feb 25 2021

delcypher accepted D97496: [Clang][ASan] Correct AsanDtorKindToString to return non-void in default case.
Feb 25 2021, 3:22 PM · Restricted Project
delcypher added a comment to D97496: [Clang][ASan] Correct AsanDtorKindToString to return non-void in default case.

@cryptoad Thanks.

Feb 25 2021, 3:22 PM · Restricted Project
delcypher committed rG7b1d2a2891d8: [NFC] Switch to auto marshalling infrastructure for `-fsanitize-address… (authored by delcypher).
[NFC] Switch to auto marshalling infrastructure for `-fsanitize-address…
Feb 25 2021, 1:26 PM
delcypher closed D97327: [NFC] Switch to auto marshalling infrastructure for `-fsanitize-address-destructor-kind=` flag..
Feb 25 2021, 1:25 PM · Restricted Project
delcypher updated the diff for D97327: [NFC] Switch to auto marshalling infrastructure for `-fsanitize-address-destructor-kind=` flag..
  • Fix build.
Feb 25 2021, 1:23 PM · Restricted Project
delcypher committed rGfdce098b49cb: [Clang][ASan] Teach Clang to not emit ASan module destructors when compiling… (authored by delcypher).
[Clang][ASan] Teach Clang to not emit ASan module destructors when compiling…
Feb 25 2021, 12:04 PM
delcypher committed rG5d64dd8e3c22: [Clang][ASan] Introduce `-fsanitize-address-destructor-kind=` driver & frontend… (authored by delcypher).
[Clang][ASan] Introduce `-fsanitize-address-destructor-kind=` driver & frontend…
Feb 25 2021, 12:04 PM
delcypher closed D96573: [Clang][ASan] Teach Clang to not emit ASan module destructors when compiling with `-mkernel` or `-fapple-kext`..
Feb 25 2021, 12:03 PM · Restricted Project
delcypher closed D96572: [Clang][ASan] Introduce `-fsanitize-address-destructor-kind=` driver & frontend option..
Feb 25 2021, 12:03 PM · Restricted Project
delcypher added a comment to D97327: [NFC] Switch to auto marshalling infrastructure for `-fsanitize-address-destructor-kind=` flag..
In D97327#2582981, @yln wrote:

LGTM, cleanup only, right?

Feb 25 2021, 10:52 AM · Restricted Project