Page MenuHomePhabricator

phosek (Petr Hosek)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 4 2015, 5:44 PM (306 w, 3 d)

Recent Activity

Yesterday

phosek requested review of D94820: Support for instrumenting only selected files or functions.
Fri, Jan 15, 12:53 PM · Restricted Project, Restricted Project

Tue, Jan 12

phosek added a comment to D94461: [llvm-ifs] Add option to use InterfaceStub library.
  1. I think for unification, the first thing would be unifying the text abi file format. Currently, the YAML format used by ifs is very similar to the one used in InterfaceStub(elfabi), however there are not compatible. One thing is that ifs embeds llvm triples in the text ifs file while elfabi does not do that. Elfabi get platform and endianness information from command line instead of getting them from the text stub file. We did that because there are use cases that we generate ELF stubs for multiple platforms using a single set of text abi files. Is there a specific reason why ifs text files require llvm triples? Is it feasible to make llvm-ifs to get the platform information from the command line options?

The triple-ness was added because originally IFS was intended to be a tool that the clang driver invokes. The idea was that you build some project with IFS enabled and you automatically get the stubs for shipping or for CI purposes to track what new exposure was done in recent builds of said project. I think it would be ok to add a flag to override the triple if that isn't there already. @compnerd
thoughts?

I meant to add, as part of llvm-ifs being invoked by clang the idea was that clang would just forward its triple and llvm-ifs would decide what to do with it because we wanted the ifs format to be kinda platform agnostic but we wanted llvm-ifs to potentially be able to generate stubs for multiple platforms in the future (like MS .libs and tbds etc too).

Tue, Jan 12, 1:57 AM · Restricted Project

Mon, Jan 11

phosek committed rGb688c5875d08: [CMake] Split the target side of runtimes build (authored by phosek).
[CMake] Split the target side of runtimes build
Mon, Jan 11, 11:40 PM
phosek closed D93408: [CMake] Split the target side of runtimes build.
Mon, Jan 11, 11:40 PM · Restricted Project
phosek updated the diff for D93408: [CMake] Split the target side of runtimes build.
Mon, Jan 11, 10:31 PM · Restricted Project
phosek updated the diff for D93408: [CMake] Split the target side of runtimes build.
Mon, Jan 11, 10:31 PM · Restricted Project
phosek updated the diff for D93408: [CMake] Split the target side of runtimes build.
Mon, Jan 11, 10:30 PM · Restricted Project
phosek added a comment to D93668: [clang] Override the Fuchsia platform ABI using the triple environment.

I agree that if we want to allow selecting C++ ABI only, a flag like -fc++abi= with some additional checks to disallow invalid combinations is better. The question is whether we want to allow that in the first place? The motivation behind this change is to support generating code that's ABI compatible with the code generated by GCC. That could be expressed using the target triple (one idea is to use *-*-fuchsia-gnu), which would cover both C++ ABI as well as other aspects of the ABI (for example it could also disable SafeStack/ShadowCallStack) so developers don't need to concern themselves with all the details of the ABI, which could evolve over time expanding the set of flags you'd need to pass to the compiler to generate code that's ABI compatible with GCC.

Mon, Jan 11, 10:13 PM · Restricted Project

Sun, Jan 10

phosek accepted D94374: [CMake] Remove dead code setting policies to NEW.

LGTM

Sun, Jan 10, 11:31 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Thu, Jan 7

phosek accepted D93177: [CMake] Don't enable BUILD_WITH_INSTALL_RPATH when using custom build rpath.

LGTM

Thu, Jan 7, 2:11 PM · Restricted Project
phosek accepted D92748: [VE][compiler-rt] Add VE as a target of crt.

LGTM

Thu, Jan 7, 1:50 PM · Restricted Project, Restricted Project

Wed, Jan 6

phosek added a comment to D93668: [clang] Override the Fuchsia platform ABI using the triple environment.
In D93668#2482995, @rnk wrote:

I guess a triple of -fuchsia-itanium would be a reasonable way of expressing this.

Why would we want a feature flag for the wasm C++ ABI? Is there a use case for using the webassembly C++ ABI on non-wasm ISAs?

Wed, Jan 6, 3:42 PM · Restricted Project
phosek added a comment to D93668: [clang] Override the Fuchsia platform ABI using the triple environment.

I'd prefer to use the target triple rather than introducing a custom flag.

Wed, Jan 6, 1:52 PM · Restricted Project
phosek added a comment to D93177: [CMake] Don't enable BUILD_WITH_INSTALL_RPATH when using custom build rpath.

This is fine with me, but I wonder we should avoid setting this property for every target and instead rely on CMAKE_BUILD_WITH_INSTALL_RPATH (we could set CMAKE_BUILD_WITH_INSTALL_RPATH to ON if unset to preserve the current behavior).

Wed, Jan 6, 1:38 AM · Restricted Project

Mon, Jan 4

phosek added a comment to D92792: [clang] - Also look for devtoolset-10.

Ping @phosek

Mon, Jan 4, 3:36 PM · Restricted Project
phosek committed rGf67d3dbdb930: [clang] - Also look for devtoolset-10 (authored by phosek).
[clang] - Also look for devtoolset-10
Mon, Jan 4, 2:26 PM
phosek closed D92792: [clang] - Also look for devtoolset-10.
Mon, Jan 4, 2:26 PM · Restricted Project

Dec 16 2020

phosek requested review of D93408: [CMake] Split the target side of runtimes build.
Dec 16 2020, 10:38 AM · Restricted Project

Dec 7 2020

phosek accepted D92792: [clang] - Also look for devtoolset-10.

LGTM

Dec 7 2020, 10:55 PM · Restricted Project

Dec 3 2020

phosek accepted D92586: [compiler-rt] Fix a bug in the cmakelists file when CMAKE_CXX_FLAGS are empty.

LGTM, thanks!

Dec 3 2020, 10:19 AM · Restricted Project

Nov 30 2020

phosek added a comment to D92291: clang/test: Remove platform-linker feature.

@phosek This shouldn't affect supporting riscv with our toolchain, right?

Nov 30 2020, 1:06 PM · Restricted Project, Restricted Project

Nov 23 2020

phosek accepted D90524: [Driver] Enable getOSLibDir() lib32 workaround for SPARC on Linux.

LGTM

Nov 23 2020, 3:58 PM · Restricted Project
phosek added inline comments to D90524: [Driver] Enable getOSLibDir() lib32 workaround for SPARC on Linux.
Nov 23 2020, 2:58 PM · Restricted Project

Nov 20 2020

phosek accepted D91850: [compiler-rt] [profile] Silence a warning about an unused function on mingw targets.

LGTM

Nov 20 2020, 12:15 PM · Restricted Project

Nov 19 2020

phosek accepted D85576: [clang][Fuchsia] Add relative-vtables multilib.

LGTM

Nov 19 2020, 11:10 AM · Restricted Project

Nov 18 2020

phosek added inline comments to D91575: [GWP-ASan] Port tests to Fuchsia.
Nov 18 2020, 1:42 PM · Restricted Project

Nov 16 2020

phosek added a comment to D91555: [Support] Allow customizing the cache pruning prefix.
In D91555#2397902, @pcc wrote:

What is the use case?

Nov 16 2020, 11:30 AM · Restricted Project
phosek requested review of D91555: [Support] Allow customizing the cache pruning prefix.
Nov 16 2020, 11:11 AM · Restricted Project

Nov 15 2020

phosek accepted D83154: clang: Add -fcoverage-prefix-map.

LGTM we may consider implementing -fsource-dir in terms of -fprofile-prefix-map as suggested in D87928 so I think we should go ahead and land this.

Nov 15 2020, 3:55 PM · Restricted Project
phosek added a comment to D87928: Provide -fsource-dir flag in Clang.

I missed this before, and it's an interesting problem.

I have a few questions:

  • I'm not clear on the expected interaction between the current working directory of the compiler and -fsource-dir. What happens if they're different?
Nov 15 2020, 3:28 PM · Restricted Project, Restricted Project

Nov 13 2020

phosek accepted D91472: [scudo/standalone] Fix leak in ThreadedGlobalQuarantine test.

LGTM

Nov 13 2020, 7:43 PM · Restricted Project
phosek added a comment to D87928: Provide -fsource-dir flag in Clang.

Ping? Is it OK to land this?

Nov 13 2020, 11:29 AM · Restricted Project, Restricted Project

Nov 12 2020

phosek requested review of D91387: [Driver] Support UBSan multilib.
Nov 12 2020, 1:26 PM · Restricted Project

Nov 11 2020

phosek added inline comments to D91223: Support struct annotations in FuchsiaHandleChecker..
Nov 11 2020, 12:27 AM · Restricted Project

Nov 10 2020

phosek accepted D91226: [clang] Add missing header guard in <cpuid.h>.

LGTM

Nov 10 2020, 7:31 PM · Restricted Project
phosek added a comment to D45639: [Driver] Support default libc++ library location on Darwin.

I agree with your analysis and I'd also prefer Solution (1), I've rebased the change and included a simple test.

Nov 10 2020, 4:07 PM
phosek updated the diff for D45639: [Driver] Support default libc++ library location on Darwin.
Nov 10 2020, 3:34 PM

Nov 9 2020

phosek accepted D61767: [llvm-elfabi] Emit ELF header and string table section.

LGTM

Nov 9 2020, 2:32 PM · Restricted Project
phosek added a reviewer for D61767: [llvm-elfabi] Emit ELF header and string table section: grimar.
Nov 9 2020, 2:32 PM · Restricted Project
phosek accepted D91099: [runtimes] Avoid overwriting the rpath unconditionally.

LGTM

Nov 9 2020, 1:50 PM · Restricted Project, Restricted Project, Restricted Project

Nov 6 2020

phosek added a comment to D87928: Provide -fsource-dir flag in Clang.

@rnk @vsk does this look good to you as well?

Nov 6 2020, 3:18 PM · Restricted Project, Restricted Project
phosek updated the diff for D87928: Provide -fsource-dir flag in Clang.
Nov 6 2020, 3:17 PM · Restricted Project, Restricted Project
phosek accepted D89177: [cmake] Add support for multiple distributions.

LGTM with a few nits.

Nov 6 2020, 2:57 PM · Restricted Project, Restricted Project, Restricted Project
phosek added inline comments to D90959: [zorg][Fuchsia] Run check-lld with 32 jobs.
Nov 6 2020, 12:02 PM · Restricted Project
phosek added a comment to D90959: [zorg][Fuchsia] Run check-lld with 32 jobs.

I don't think this is going to help, lit tasks are running inside the console Ninja pool so they're already limited to a single job. Instead, we would need to pass -j to lit through LIT_OPTS environment variable, see http://llvm.org/docs/CommandGuide/lit.html#general-options.

Nov 6 2020, 11:09 AM · Restricted Project

Nov 5 2020

phosek added a comment to D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.

Any update regarding the fact that it now builds ubsan_type_hash_win.cpp with -nostdinc++, despite the fact that the file does include <typeinfo>?

Nov 5 2020, 1:20 PM · Restricted Project

Nov 3 2020

phosek committed rGe0b5e5a9d89c: [compiler-rt] Use empty SuspendedThreadsList for Fuchsia (authored by phosek).
[compiler-rt] Use empty SuspendedThreadsList for Fuchsia
Nov 3 2020, 11:34 AM
phosek closed D90695: [compiler-rt] Use empty SuspendedThreadsList for Fuchsia.
Nov 3 2020, 11:34 AM · Restricted Project
phosek updated the diff for D90695: [compiler-rt] Use empty SuspendedThreadsList for Fuchsia.
Nov 3 2020, 10:52 AM · Restricted Project
phosek added a reviewer for D90695: [compiler-rt] Use empty SuspendedThreadsList for Fuchsia: vitalybuka.
Nov 3 2020, 10:46 AM · Restricted Project
phosek added a comment to D90694: [lsan] Create a dummy SuspendedThreadsList for Fuchsia.

I have made the same change which is slightly simpler, see D90695, so LGTM.

Nov 3 2020, 10:44 AM · Restricted Project
phosek requested review of D90695: [compiler-rt] Use empty SuspendedThreadsList for Fuchsia.
Nov 3 2020, 10:43 AM · Restricted Project

Nov 2 2020

phosek added a reviewer for D90362: scan-build supprot relative 'file' in cdb.: haowei.
Nov 2 2020, 2:24 PM · Restricted Project
phosek accepted D90641: [compiler-rt][AIX]: Link compiler-rt profile library when -fprofile-generate is specified.

LGTM

Nov 2 2020, 2:24 PM · Restricted Project
phosek added inline comments to D90537: [GWP-ASan] Stub out backtrace/signal functions on Fuchsia.
Nov 2 2020, 1:12 PM · Restricted Project
phosek added a comment to D90362: scan-build supprot relative 'file' in cdb..

What's the plan regarding updating scan-build-py to match the upstream? It seems like this issue has already been address in the upstream version.

Nov 2 2020, 1:10 PM · Restricted Project
phosek accepted D90619: [compiler-rt][profile][AIX]: Enable compiler-rt profile build on AIX.

LGTM

Nov 2 2020, 10:07 AM · Restricted Project

Oct 31 2020

phosek added a comment to D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.

Thanks a lot for landing this!

Oct 31 2020, 11:25 PM · Restricted Project
phosek accepted D90516: [clang] Limit scope of CLANG_VENDOR definition.

LGTM

Oct 31 2020, 12:44 AM · Restricted Project

Oct 30 2020

phosek updated the diff for D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.
Oct 30 2020, 1:07 PM · Restricted Project
phosek added inline comments to D89915: [compiler-rt] Don't include libc++ headers from the source tree in MSAN.
Oct 30 2020, 1:14 AM · Restricted Project

Oct 29 2020

phosek accepted D90362: scan-build supprot relative 'file' in cdb..

LGTM

Oct 29 2020, 1:19 AM · Restricted Project

Oct 28 2020

phosek added inline comments to D89915: [compiler-rt] Don't include libc++ headers from the source tree in MSAN.
Oct 28 2020, 3:30 PM · Restricted Project
phosek updated the diff for D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.
Oct 28 2020, 2:14 AM · Restricted Project
phosek updated the diff for D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.

After many experiments, I finally got something that seems to be building with the buildbot_android.sh script.

Oct 28 2020, 1:43 AM · Restricted Project
phosek added inline comments to D61767: [llvm-elfabi] Emit ELF header and string table section.
Oct 28 2020, 12:29 AM · Restricted Project

Oct 27 2020

phosek accepted D90265: [llvm][StringExtras] Add a fail-able version of `fromHex`.
Oct 27 2020, 9:48 PM · Restricted Project
phosek accepted D90279: [Support] Make Support/SwapByteOrder.h compile on Fuchsia.

LGTM

Oct 27 2020, 7:21 PM · Restricted Project
phosek accepted D90271: [clang][ToolChains] explicitly return LangOptions::StackProtectorMode.

LGTM

Oct 27 2020, 4:45 PM · Restricted Project

Oct 26 2020

phosek accepted D90169: [sanitizer][fuchsia] Avoid deprecated syscall..

LGTM do you want me to land this change for you?

Oct 26 2020, 11:38 PM · Restricted Project

Oct 23 2020

phosek added a reviewer for D61767: [llvm-elfabi] Emit ELF header and string table section: mcgrathr.
Oct 23 2020, 10:58 AM · Restricted Project
phosek added a comment to D89432: [llvm-elfabi] Emit ELF .dynsym and .dynamic sections.

Nice. Will you folks be updating llvm-ifs to use this support instead of yaml2obj soon? If so add me to the review, I will be happy to take a look.

Oct 23 2020, 10:56 AM · Restricted Project
phosek accepted D77248: [llvm][IR] Add dso_local_equivalent Constant.

LGTM but someone else should take a look as well.

Oct 23 2020, 10:45 AM · Restricted Project

Oct 22 2020

phosek accepted D89915: [compiler-rt] Don't include libc++ headers from the source tree in MSAN.

I already talked to @ldionne over chat. D88922 is a larger cleanup and I'm still trying to get it to a working state, but I think we should land this change in the meantime to address the current failures.

Oct 22 2020, 9:18 PM · Restricted Project
phosek accepted D90005: [runtimes] Do not set XXX_STANDALONE_BUILD for libc++/abi/unwind.

LGTM

Oct 22 2020, 9:16 PM · Restricted Project

Oct 21 2020

phosek added a comment to D89041: [libc++] Include <__config_site> from <__config>.

@ldionne I've started doing a related cleanup of compiler-rt in D88922 but I had to revert it because it broke various builders that use custom flags and I'm still working through those issues.

Oct 21 2020, 3:48 PM · Restricted Project, Restricted Project

Oct 20 2020

phosek accepted D89764: [llvm] Fix ODRViolations for VersionTuple YAML specializations NFC.

LGTM

Oct 20 2020, 5:24 PM · Restricted Project
phosek added a comment to D89041: [libc++] Include <__config_site> from <__config>.

@ldionne do you plan to land this change?

Oct 20 2020, 4:21 PM · Restricted Project, Restricted Project

Oct 16 2020

phosek added a comment to D66324: clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM.

I apologize for the late response, I somehow missed the earlier responses. We have successfully used this feature in Fuchsia and found it useful, but I agree that the issues raised need to be addressed. Unfortunately @paulkirth is no longer working on this project. I hope that someone from our team can take a look but it might take a few weeks. If you prefer, we could revert this change and then reland an improved version in the future?

Oct 16 2020, 3:41 PM · Restricted Project, Restricted Project
phosek added a comment to D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.
FAILED: lib/fuzzer/CMakeFiles/RTfuzzer.i386.dir/FuzzerFork.cpp.o 
/usr/local/google/home/vitalybuka/slow/bbot/llvm_build64/bin/clang++   -I/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/../../include --target=i686-linux-android --sysroot=/usr/local/google/home/vitalybuka/slow/bbot/android_ndk/standalone-i686/sysroot -B/usr/local/google/home/vitalybuka/slow/bbot/android_ndk/standalone-i686  -Wall -Werror -std=c++14 -Wno-unused-parameter -O3 -DNDEBUG    -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fno-lto -O3 -gline-tables-only -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -Dthread_local=__thread -MD -MT lib/fuzzer/CMakeFiles/RTfuzzer.i386.dir/FuzzerFork.cpp.o -MF lib/fuzzer/CMakeFiles/RTfuzzer.i386.dir/FuzzerFork.cpp.o.d -o lib/fuzzer/CMakeFiles/RTfuzzer.i386.dir/FuzzerFork.cpp.o -c /usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/FuzzerFork.cpp
In file included from /usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/FuzzerFork.cpp:11:
In file included from /usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/FuzzerCommand.h:15:
/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/FuzzerDefs.h:14:10: fatal error: 'cassert' file not found
#include <cassert>

I couldn't reproduce this failure locally. There's also no -nostdinc++ flag being used here so it's not clear to me why this is failing. Do you know if Android provides C++ standard library as part of its sysroot?

did you try zorg script ?

Oct 16 2020, 1:32 AM · Restricted Project
phosek added inline comments to D87656: [llvm-dwarfdump] --show-sources option to show all sources.
Oct 16 2020, 12:56 AM · Restricted Project
phosek updated the diff for D89492: [compiler-rt] Enable building builtins using top-level CMake file.
Oct 16 2020, 12:22 AM · Restricted Project, Restricted Project
phosek added a comment to D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.
FAILED: lib/fuzzer/CMakeFiles/RTfuzzer.i386.dir/FuzzerFork.cpp.o 
/usr/local/google/home/vitalybuka/slow/bbot/llvm_build64/bin/clang++   -I/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/../../include --target=i686-linux-android --sysroot=/usr/local/google/home/vitalybuka/slow/bbot/android_ndk/standalone-i686/sysroot -B/usr/local/google/home/vitalybuka/slow/bbot/android_ndk/standalone-i686  -Wall -Werror -std=c++14 -Wno-unused-parameter -O3 -DNDEBUG    -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fno-lto -O3 -gline-tables-only -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -Dthread_local=__thread -MD -MT lib/fuzzer/CMakeFiles/RTfuzzer.i386.dir/FuzzerFork.cpp.o -MF lib/fuzzer/CMakeFiles/RTfuzzer.i386.dir/FuzzerFork.cpp.o.d -o lib/fuzzer/CMakeFiles/RTfuzzer.i386.dir/FuzzerFork.cpp.o -c /usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/FuzzerFork.cpp
In file included from /usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/FuzzerFork.cpp:11:
In file included from /usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/FuzzerCommand.h:15:
/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/fuzzer/FuzzerDefs.h:14:10: fatal error: 'cassert' file not found
#include <cassert>
Oct 16 2020, 12:13 AM · Restricted Project
phosek updated the diff for D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.
Oct 16 2020, 12:09 AM · Restricted Project

Oct 15 2020

phosek added a comment to D85802: [clang] Add -fc++-abi= flag for specifying which C++ ABI to use.
In D85802#2332808, @rnk wrote:

Would "f[no-]fuchsia-c++-abi-extensions" (or shorter, -ffuchsia-c++-abi) do the trick? I know it doesn't map well onto our current internal option representation, but I don't think the internal representation is particularly good. I'd rather limit the user-visible driver interface to give us the flexibility to change the internal representation in the future.

For our use case yes, we could have -f[no-]fuchsia-c++-abi which would be enabled by default when the target is Fuchsia.

Will send out another patch that will use this instead. We can probably revert this in the meantime.

Have you considered using a different target triple for the different C++ ABI modes?

Oct 15 2020, 3:04 PM · Restricted Project
phosek added a comment to D89492: [compiler-rt] Enable building builtins using top-level CMake file.

This is an alternative to D70744. I'm not a fan of introducing compiler-rt/builtins as a new top-level CMake, so I was trying to come up with an alternative and this is what I came up with, let me know what you think.

Oct 15 2020, 12:28 PM · Restricted Project, Restricted Project
phosek requested review of D89492: [compiler-rt] Enable building builtins using top-level CMake file.
Oct 15 2020, 12:16 PM · Restricted Project, Restricted Project
phosek added a comment to D85802: [clang] Add -fc++-abi= flag for specifying which C++ ABI to use.
In D85802#2332808, @rnk wrote:

Would "f[no-]fuchsia-c++-abi-extensions" (or shorter, -ffuchsia-c++-abi) do the trick? I know it doesn't map well onto our current internal option representation, but I don't think the internal representation is particularly good. I'd rather limit the user-visible driver interface to give us the flexibility to change the internal representation in the future.

Oct 15 2020, 11:22 AM · Restricted Project
phosek added a comment to D85802: [clang] Add -fc++-abi= flag for specifying which C++ ABI to use.
In D85802#2332766, @rnk wrote:

Perhaps we can add some mechanism in Clang that determines which ABIs are supported for specific platforms? That is, when targetting Linux, Clang will diagnose an error if using -fc++-abi=microsoft. This could cover the case where a specific platform can support multiple ABIs, but those ABIs won't be supported by other platforms.

Right, but the simplest code is the code that doesn't exist: if the option doesn't exist, there's no need to diagnose anything. The rest of the "C++ ABIs" aren't really their own C++ ABIs, they are just a reflection of the target triple.

What is the actual use case? I read the RFC, but ever since I became a manager, my reading comprehension level dropped back to grade school, and I apologize for that. As I understood it, you need a flag that enables all the Itanium ABI extensions (relative vtables, and others) used in Fuchsia, at once. A single relative vtable ABI flag isn't sufficient (would it be?).

Oct 15 2020, 10:46 AM · Restricted Project

Oct 14 2020

phosek added a comment to D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.

Also android bot is likely will complain. You can reproduce according to:
https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild
BUILDBOT_REVISION= BUILDBOT_MONO_REPO_PATH=<my llvm checkout path>/llvm-project BUILDBOT_CLOBBER= zorg/zorg/buildbot/builders/sanitizers/buildbot_android.sh

Or just ping me and I try myself.

Oct 14 2020, 11:18 PM · Restricted Project
phosek updated the diff for D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.
Oct 14 2020, 11:14 PM · Restricted Project
phosek added a comment to D61767: [llvm-elfabi] Emit ELF header and string table section.

The purpose of this tool is still a bit unclear to me. Would you mind explaining a little? If you want to create a shared object writer, you can start from yaml2obj. Then there is natural question what generation features this tool can provide while yaml2obj cannot. If you want to write an interface shared object, sh_addr can be 0.

Oct 14 2020, 10:27 PM · Restricted Project
phosek reopened D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.

ninja check-tsan

1 error generated.
[18/23] Generating TsanUnitTestsObjects.tsan_clock_test.cpp.x86_64.o
FAILED: projects/compiler-rt/lib/tsan/tests/unit/TsanUnitTestsObjects.tsan_clock_test.cpp.x86_64.o 
cd /usr/local/google/home/vitalybuka/src/llvm.git/out/z/projects/compiler-rt/lib/tsan/tests/unit && /usr/local/google/home/vitalybuka/src/llvm.git/out/z/./bin/clang -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fno-lto -O3 -gline-tables-only -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -nostdinc++ -fPIE -fno-rtti -Wno-covered-switch-default -DGTEST_NO_LLVM_SUPPORT=1 -DGTEST_HAS_RTTI=0 -I/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/llvm/utils/unittest/googletest/include -I/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/llvm/utils/unittest/googletest -I/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/include -I/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib -I/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/tsan/rtl -DGTEST_HAS_RTTI=0 -m64 -c -o TsanUnitTestsObjects.tsan_clock_test.cpp.x86_64.o /usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/tsan/tests/unit/tsan_clock_test.cpp
In file included from /usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/compiler-rt/lib/tsan/tests/unit/tsan_clock_test.cpp:14:
/usr/local/google/home/vitalybuka/src/llvm.git/llvm-project/llvm/utils/unittest/googletest/include/gtest/gtest.h:54:10: fatal error: 'limits' file not found
#include <limits>
         ^~~~~~~~
1 error generated.
Oct 14 2020, 6:46 PM · Restricted Project
phosek added a reverting change for rG287c318690f1: [CMake] Avoid accidental C++ standard library dependency in sanitizers: rG220de1f32add: Revert "[CMake] Avoid accidental C++ standard library dependency in sanitizers".
Oct 14 2020, 6:45 PM
phosek committed rG220de1f32add: Revert "[CMake] Avoid accidental C++ standard library dependency in sanitizers" (authored by phosek).
Revert "[CMake] Avoid accidental C++ standard library dependency in sanitizers"
Oct 14 2020, 6:45 PM
phosek added a reverting change for D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers: rG220de1f32add: Revert "[CMake] Avoid accidental C++ standard library dependency in sanitizers".
Oct 14 2020, 6:45 PM · Restricted Project
phosek committed rG287c318690f1: [CMake] Avoid accidental C++ standard library dependency in sanitizers (authored by phosek).
[CMake] Avoid accidental C++ standard library dependency in sanitizers
Oct 14 2020, 6:27 PM
phosek closed D88922: [CMake] Avoid accidental C++ standard library dependency in sanitizers.
Oct 14 2020, 6:27 PM · Restricted Project
phosek added a comment to D85576: [clang][Fuchsia] Add relative-vtables multilib.

This should also be ready now that https://reviews.llvm.org/D85802 landed, unless we don't want to submit this *right* now so the clang builders don't build these multilibs that won't be used yet?

Oct 14 2020, 1:05 PM · Restricted Project

Oct 13 2020

phosek committed rGb72813f4d6a0: [CMake][Fuchsia] Start building arm64 Darwin runtimes (authored by phosek).
[CMake][Fuchsia] Start building arm64 Darwin runtimes
Oct 13 2020, 7:51 PM