Page MenuHomePhabricator

pcc (Peter Collingbourne)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 28 2012, 2:34 PM (535 w, 19 h)

Recent Activity

Wed, Mar 22

pcc committed rG201fdef40dd6: libclang: Pass Clang install directory to driver via argv[0]. (authored by pcc).
libclang: Pass Clang install directory to driver via argv[0].
Wed, Mar 22, 3:31 PM · Restricted Project, Restricted Project
pcc closed D146497: libclang: Pass Clang install directory to driver via argv[0]..
Wed, Mar 22, 3:31 PM · Restricted Project, Restricted Project
pcc added inline comments to D146497: libclang: Pass Clang install directory to driver via argv[0]..
Wed, Mar 22, 3:11 PM · Restricted Project, Restricted Project
pcc added inline comments to D146497: libclang: Pass Clang install directory to driver via argv[0]..
Wed, Mar 22, 3:00 PM · Restricted Project, Restricted Project

Tue, Mar 21

pcc added a comment to D40382: Plug dlerror() leak for swift_demangle.

FYI, this introduces a subtle regression. dlerror() calls into gettext to translate the error. ASAN itself can be initialized from a random malloc intercept which can turn out to be in gettext, which is quite common since apps initialize gettext early, and some libraries even do so in loader init calls. This ends up re-entering into gettext and corrupting a rwmutex by trying to take the write lock while the read-side is locked. The unlock sequence leaves the rwlock in a bad state. Things then deadlock much later on the bad mutex.

Tue, Mar 21, 5:52 PM · Restricted Project, Restricted Project

Mon, Mar 20

pcc requested review of D146497: libclang: Pass Clang install directory to driver via argv[0]..
Mon, Mar 20, 8:14 PM · Restricted Project, Restricted Project
pcc committed rG64d96ec817f1: Fix Windows export list. (authored by pcc).
Fix Windows export list.
Mon, Mar 20, 7:21 PM · Restricted Project, Restricted Project
pcc committed rG1bd8e87e1b44: Disable __sancov_lowest_stack on Windows. (authored by pcc).
Disable __sancov_lowest_stack on Windows.
Mon, Mar 20, 4:40 PM · Restricted Project, Restricted Project
pcc committed rG402dd79a293d: sanitizer_common: Use plain thread_local for __sancov_lowest_stack definition. (authored by pcc).
sanitizer_common: Use plain thread_local for __sancov_lowest_stack definition.
Mon, Mar 20, 4:26 PM · Restricted Project, Restricted Project
pcc closed D146351: sanitizer_common: Use plain thread_local for __sancov_lowest_stack definition..
Mon, Mar 20, 4:26 PM · Restricted Project, Restricted Project
pcc updated the diff for D146266: gn build: Fix Android build..

Switch to template wrappers

Mon, Mar 20, 2:23 PM · Restricted Project, Restricted Project
pcc added inline comments to D146266: gn build: Fix Android build..
Mon, Mar 20, 1:51 PM · Restricted Project, Restricted Project
pcc updated the diff for D146351: sanitizer_common: Use plain thread_local for __sancov_lowest_stack definition..

Add #if !SANITIZER_APPLE

Mon, Mar 20, 1:46 PM · Restricted Project, Restricted Project
pcc added a comment to D146351: sanitizer_common: Use plain thread_local for __sancov_lowest_stack definition..

Hi, thanks Vitaly!

AFAIR, thread_local (and TLS in general) require macOS 10.12 / iOS 10 / watchOS 3 or greater.

Therefore, can we hold off on this a bit?

@thetruestblue is looking into bumping the minimal sanitizer deployment targets for Apple platforms. Blue, when you do that, can you circle back here and apply this patch? This change is a good example for a sanity check: it doesn't work right now but should work afterwards.

Mon, Mar 20, 1:11 PM · Restricted Project, Restricted Project

Fri, Mar 17

pcc requested review of D146351: sanitizer_common: Use plain thread_local for __sancov_lowest_stack definition..
Fri, Mar 17, 9:03 PM · Restricted Project, Restricted Project
pcc committed rG659da71a4060: gn build: Pass -fno-emulated-tls when targeting Android. (authored by pcc).
gn build: Pass -fno-emulated-tls when targeting Android.
Fri, Mar 17, 5:29 PM · Restricted Project, Restricted Project
pcc closed D146341: gn build: Pass -fno-emulated-tls when targeting Android..
Fri, Mar 17, 5:29 PM · Restricted Project, Restricted Project
pcc requested review of D146341: gn build: Pass -fno-emulated-tls when targeting Android..
Fri, Mar 17, 5:08 PM · Restricted Project, Restricted Project
pcc added a comment to D146324: scudo: Don't define mallinfo2 on Android..

How do you usually build Scudo? When I run the unit tests I cross compile it for Android using llvm's gn build system. If you're building it as part of the Android platform, SCUDO_PREFIX will be defined to add a prefix of scudo_, so the alias in malloc.h wouldn't affect the definitions.

I see, thanks!

That prefix is only added when #if SCUDO_ANDROID && _BIONIC (code), do you think we need to do #if !SCUDO_ANDROID || !_BIONIC?

Fri, Mar 17, 2:59 PM · Restricted Project, Restricted Project
pcc committed rG9f42b04128bc: scudo: Don't define mallinfo2 on Android. (authored by pcc).
scudo: Don't define mallinfo2 on Android.
Fri, Mar 17, 2:48 PM · Restricted Project, Restricted Project
pcc closed D146324: scudo: Don't define mallinfo2 on Android..
Fri, Mar 17, 2:48 PM · Restricted Project, Restricted Project
pcc added a comment to D146324: scudo: Don't define mallinfo2 on Android..

Is it worth examining how we do this on Android? For example, should we remove the mallinfo2 alias for mallinfo, so that we don't have to make this change?

Fri, Mar 17, 2:29 PM · Restricted Project, Restricted Project
pcc added a comment to D146324: scudo: Don't define mallinfo2 on Android..

How do you usually build Scudo? When I run the unit tests I cross compile it for Android using llvm's gn build system. If you're building it as part of the Android platform, SCUDO_PREFIX will be defined to add a prefix of scudo_, so the alias in malloc.h wouldn't affect the definitions.

Fri, Mar 17, 12:59 PM · Restricted Project, Restricted Project
pcc requested review of D146324: scudo: Don't define mallinfo2 on Android..
Fri, Mar 17, 12:19 PM · Restricted Project, Restricted Project
pcc updated the diff for D146266: gn build: Fix Android build..

Bring back -Wl,-z,defs for Android

Fri, Mar 17, 11:18 AM · Restricted Project, Restricted Project
pcc added inline comments to D146266: gn build: Fix Android build..
Fri, Mar 17, 10:59 AM · Restricted Project, Restricted Project

Thu, Mar 16

pcc updated the diff for D146266: gn build: Fix Android build..

After an out of band discussion with Arthur, we figured out the root cause of his problem and I was able to reproduce. This fixes it for me.

Thu, Mar 16, 6:57 PM · Restricted Project, Restricted Project
pcc updated the diff for D146266: gn build: Fix Android build..

Fix commit message

Thu, Mar 16, 4:42 PM · Restricted Project, Restricted Project
pcc requested review of D146266: gn build: Fix Android build..
Thu, Mar 16, 4:40 PM · Restricted Project, Restricted Project

Thu, Mar 9

pcc added inline comments to D21121: IR: Introduce llvm.type.checked.load intrinsic..
Thu, Mar 9, 12:30 PM · Restricted Project, Restricted Project

Tue, Mar 7

pcc added a comment to D145293: [GlobalOpt] Don't replace the aliasee if it has other references..

To be honest, I would rather we look at removing OptimizeGlobalAliases altogether. As I explained in D65118, these kinds of trivial alias "optimizations" on their own can be more harmful than helpful.

Tue, Mar 7, 9:41 PM · Restricted Project, Restricted Project

Mar 1 2023

pcc committed rG82c2fcffc273: ELF: Respect MEMORY command when specified without a SECTIONS command. (authored by pcc).
ELF: Respect MEMORY command when specified without a SECTIONS command.
Mar 1 2023, 10:41 PM · Restricted Project
pcc closed D145132: ELF: Respect MEMORY command when specified without a SECTIONS command..
Mar 1 2023, 10:41 PM · Restricted Project, Restricted Project
pcc requested review of D145132: ELF: Respect MEMORY command when specified without a SECTIONS command..
Mar 1 2023, 5:08 PM · Restricted Project, Restricted Project

Feb 27 2023

pcc added a comment to D129700: [clang] Don't emit type tests for dllexport/import classes.

Can't the code in CodeGenModule::HasHiddenLTOVisibility be moved here instead of duplicating it?

Feb 27 2023, 3:55 PM · Restricted Project, Restricted Project

Feb 22 2023

pcc accepted D144035: [SCEV] Ensure SCEV does not replace aliases with their aliasees.

LGTM

Feb 22 2023, 5:33 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Feb 21 2023

pcc requested changes to D144035: [SCEV] Ensure SCEV does not replace aliases with their aliasees.

Passes shouldn't be replacing aliases with aliasees in general, see D66606. The right fix is to fix SCEV to not do that.

Feb 21 2023, 3:55 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Feb 16 2023

Herald added a project to D65857: [MC][AArch64] Restrict use of signed relocation operators on MOV[NZK]: Restricted Project.

Thanks for getting back to me, I'll look into making a strict mode. I'll also mention the use case you've identified with movk to my colleague from our GCC team, it is a pity that we don't have a R_AARCH64_PREL_G3_NC for the movk as although not ideal, as it is skipping an overflow check, it would permit GNU ld to be extended whilst retaining the property that you don't need to disassemble the binary to know how to evaluate a relocation.

Feb 16 2023, 3:47 PM · Restricted Project

Feb 9 2023

pcc added a comment to D143634: [ModuleUtils] Assert correct linkage and visibility of structors' COMDAT key.

I've always considered that this should be fixed by extending the resolution-based LTO API to also include resolutions for comdats.

Feb 9 2023, 11:20 AM · Restricted Project, Restricted Project, Restricted Project

Jan 31 2023

pcc accepted D139395: Add CFI integer types normalization.

LGTM

Jan 31 2023, 2:30 PM · Restricted Project, Restricted Project
Herald added a project to D73631: [scudo] Skip building scudo standalone if sys/auxv.h can't be found: Restricted Project.
Jan 31 2023, 2:29 PM · Restricted Project, Restricted Project, Restricted Project
pcc accepted D139395: Add CFI integer types normalization.

LGTM with nits

Jan 31 2023, 10:22 AM · Restricted Project, Restricted Project

Jan 20 2023

pcc added inline comments to D141970: [LLD] Add --lto-CGO[0-3] option.
Jan 20 2023, 1:53 PM · Restricted Project, Restricted Project, Restricted Project
pcc added inline comments to D141970: [LLD] Add --lto-CGO[0-3] option.
Jan 20 2023, 11:49 AM · Restricted Project, Restricted Project, Restricted Project

Jan 19 2023

pcc added a comment to D142163: [LLD][ELF] Add --lto-export-symbol-list.

What do you think about making this apply not only to LTO but to other -r links as well? This would be useful for use cases like the internal symbolizer used by the sanitizers, which currently (ab)uses LTO for a similar effect. I was imagining that the user interface would be that we would make --version-script compatible with -r links, with the restriction being that it would not be possible to specify a symbol version (as this patch does).

Jan 19 2023, 8:26 PM · Restricted Project, Restricted Project
pcc accepted D135928: [llvm] Teach GlobalDCE about dso_local_equivalent.

LGTM

Jan 19 2023, 6:37 PM · Restricted Project, Restricted Project
Herald added a reviewer for D134320: [llvm] Teach whole program devirtualization about relative vtables: mpaszkowski.
Jan 19 2023, 6:31 PM · Restricted Project, Restricted Project
pcc added a comment to D139395: Add CFI integer types normalization.

Thanks for the patch, Ramon. This looks like a reasonable approach to me, and just for reference, here appears to be the corresponding rustc change:

https://github.com/rust-lang/rust/pull/105452/commits/9087c336103d0fa0b465acf8dbc1e4651250fb05

@pcc did you have any other concerns about adding this option?

Jan 19 2023, 5:00 PM · Restricted Project, Restricted Project

Dec 12 2022

pcc added a comment to D139395: Add CFI integer types normalization.

I elaborated on the reasons why not use a generalized encoding in the design document in the tracking issue https://github.com/rust-lang/rust/issues/89653. The tl;dr; is that it will result in less comprehensive protection by either using a generalized encoding for all C and C++ -compiled code or across the FFI boundary, and will degrade the security of the program when linking foreign Rust-compiled code into a program written in C or C++ because the program previously used a more comprehensive encoding for all its compiled code, not fixing the issue described in the design document and the RFC https://github.com/rcvalle/rfcs/blob/improve-c-types-for-cross-language-cfi/text/0000-improve-c-types-for-cross-language-cfi.md#appendix.

Dec 12 2022, 7:52 PM · Restricted Project, Restricted Project
pcc added a reviewer for D139395: Add CFI integer types normalization: pcc.

A high level question is whether we want to base the cross-language encoding on Itanium at all. Itanium has concepts such as substitutions that will complicate the implementation in other languages. Encoding pointee types can also lead to complications in cross-language encodings.

Dec 12 2022, 6:56 PM · Restricted Project, Restricted Project

Dec 5 2022

pcc added a comment to D138337: Add support for kcfi-seal optimization with LTO.

Can't this be implicit if LTO is being used?

I would prefer to keep this behind a flag (similarly to -mibt-seal), so we can better control when and where the optimization enabled. For example, enabling this implicitly would currently break LTO+KCFI kernel builds as the kernel has global functions that are not address-taken in C code, but still end up being indirectly called because their addresses were taken in assembly code that wasn't visible to LTO (e.g. arm64's alternative_cb mechanism).

Dec 5 2022, 3:22 PM · Restricted Project, Restricted Project, Restricted Project
pcc added a comment to D138337: Add support for kcfi-seal optimization with LTO.

Can't this be implicit if LTO is being used?

Dec 5 2022, 12:55 PM · Restricted Project, Restricted Project, Restricted Project
pcc accepted D138615: [llvm] Teach FastISel for AArch64 about tagged globals.

LGTM

Dec 5 2022, 12:46 PM · Restricted Project, Restricted Project

Nov 23 2022

pcc added a comment to D138615: [llvm] Teach FastISel for AArch64 about tagged globals.

Test case?

Nov 23 2022, 3:39 PM · Restricted Project, Restricted Project

Nov 10 2022

pcc accepted D137354: [scudo] Extend basic test to cover zero size allocs..

LGTM

Nov 10 2022, 11:08 AM · Restricted Project, Restricted Project
pcc added inline comments to D137352: [scudo] Detect double free when running with MTE..
Nov 10 2022, 11:07 AM · Restricted Project, Restricted Project

Nov 4 2022

pcc added inline comments to D137352: [scudo] Detect double free when running with MTE..
Nov 4 2022, 3:41 PM · Restricted Project, Restricted Project

Oct 19 2022

pcc added a comment to D135617: [docs] Update compiler-rt/CODE_OWNERS.TXT.

Will @browneee be a good candidate for Data Flow Sanitizer owner as well? Note that it's fine to have a library to have more than one owner in some cases.

Oct 19 2022, 5:19 PM · Restricted Project, Restricted Project

Oct 13 2022

pcc added a comment to D120862: Sema: Allow scoped enums as source type for integral conversion..

Does that DR apply retroactively to C++17? I get the impression that "Status: C++20" means that the issue was only fixed in C++20, which would make this well-formed with -std=c++17.

Oct 13 2022, 6:20 PM · Restricted Project, Restricted Project
pcc committed rG8d9c4a7425d9: Driver: Change default Android linker to lld. (authored by pcc).
Driver: Change default Android linker to lld.
Oct 13 2022, 3:51 PM · Restricted Project, Restricted Project
pcc closed D135421: Driver: Change default Android linker to lld..
Oct 13 2022, 3:50 PM · Restricted Project, Restricted Project

Oct 12 2022

pcc added a comment to D135421: Driver: Change default Android linker to lld..

Ping.

Oct 12 2022, 5:01 PM · Restricted Project, Restricted Project
pcc added a comment to D134221: [runtimes] Always define the cxx_shared, cxx_static & other targets.

The sanitizer bot uses a 2-stage build so I'm not sure that it can be reproduced with a single CMake invocation. You should be able to reproduce on Linux with:

git clone https://github.com/llvm/llvm-zorg.git
BUILDBOT_CLOBBER= BUILDBOT_REVISION=79ee0342dbf025bc70f237bdfe9ccb4e10a592ce llvm-zorg/zorg/buildbot/builders/sanitizers/buildbot_standard.sh
Oct 12 2022, 4:00 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
pcc added a comment to D134221: [runtimes] Always define the cxx_shared, cxx_static & other targets.

TSan builds are also broken with this change: https://lab.llvm.org/buildbot/#/builders/70/builds/28491

ld: error: undefined symbol: __tsan_func_entry
>>> referenced by cxa_aux_runtime.cpp
>>>               libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_aux_runtime.cpp.o:(__cxa_bad_cast)
>>> referenced by cxa_aux_runtime.cpp
>>>               libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_aux_runtime.cpp.o:(__cxa_bad_typeid)
>>> referenced by cxa_aux_runtime.cpp
>>>               libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_aux_runtime.cpp.o:(__cxa_throw_bad_array_new_length)
>>> referenced 539 more times

(and more undefined symbols).

Oct 12 2022, 12:26 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Oct 10 2022

pcc added inline comments to D135611: [llvm] Update WPD tests to use opaque pointers.
Oct 10 2022, 1:25 PM · Restricted Project, Restricted Project

Oct 6 2022

pcc requested review of D135421: Driver: Change default Android linker to lld..
Oct 6 2022, 9:15 PM · Restricted Project, Restricted Project
pcc committed rGe88e149fe4ed: gn build: s/target_os/current_os/g (authored by pcc).
gn build: s/target_os/current_os/g
Oct 6 2022, 8:58 PM · Restricted Project, Restricted Project
pcc committed rG72cac51779d6: gn build: Do not build libunwind.so for Android. (authored by pcc).
gn build: Do not build libunwind.so for Android.
Oct 6 2022, 8:54 PM · Restricted Project, Restricted Project

Oct 5 2022

pcc added a comment to D133895: [scudo] Add PageReleaseContext to convey page usage status..

In phabricator those markers just mean that you added indentation, not that you added a tab.

Oct 5 2022, 5:50 PM · Restricted Project, Restricted Project

Sep 30 2022

pcc requested review of D134999: AArch64: PAC: Do not attempt ICP on authenticating calls..
Sep 30 2022, 4:43 PM · Restricted Project, Restricted Project
pcc committed rGb1985dd74de8: gn build: Fix formatting in gen_version_script.gni. (authored by pcc).
gn build: Fix formatting in gen_version_script.gni.
Sep 30 2022, 1:48 PM · Restricted Project, Restricted Project
pcc committed rGfa690c22120d: gn build: Speculative Windows build fix. (authored by pcc).
gn build: Speculative Windows build fix.
Sep 30 2022, 1:47 PM · Restricted Project, Restricted Project
pcc committed rG25eabbc8022f: gn build: Re-add preinit file to static ubsan library. (authored by pcc).
gn build: Re-add preinit file to static ubsan library.
Sep 30 2022, 1:36 PM · Restricted Project, Restricted Project
pcc committed rG0caa9d4b1e35: AArch64: Don't use RETA[AB] when ShadowCallStack is enabled. (authored by pcc).
AArch64: Don't use RETA[AB] when ShadowCallStack is enabled.
Sep 30 2022, 12:34 PM · Restricted Project, Restricted Project
pcc committed rGbae0d30491c5: gn build: Move bfloat16 source files to x86-specific block. (authored by pcc).
gn build: Move bfloat16 source files to x86-specific block.
Sep 30 2022, 12:33 PM · Restricted Project, Restricted Project
pcc committed rG0f9f95fe9361: gn build: Add support for building the standalone ubsan runtime as a shared… (authored by pcc).
gn build: Add support for building the standalone ubsan runtime as a shared…
Sep 30 2022, 12:33 PM · Restricted Project, Restricted Project
pcc closed D134931: AArch64: Don't use RETA[AB] when ShadowCallStack is enabled..
Sep 30 2022, 12:33 PM · Restricted Project, Restricted Project
pcc closed D134937: gn build: Move bfloat16 source files to x86-specific block..
Sep 30 2022, 12:33 PM · Restricted Project, Restricted Project
pcc closed D127556: gn build: Add support for building the standalone ubsan runtime as a shared library on non-Mac..
Sep 30 2022, 12:33 PM · Restricted Project, Restricted Project
pcc added a comment to D120862: Sema: Allow scoped enums as source type for integral conversion..

Ping^2.

Sep 30 2022, 12:32 PM · Restricted Project, Restricted Project

Sep 29 2022

pcc updated the diff for D127556: gn build: Add support for building the standalone ubsan runtime as a shared library on non-Mac..

Rebased this patch by first reverting the other ubsan patches

Sep 29 2022, 10:04 PM · Restricted Project, Restricted Project
pcc requested review of D134937: gn build: Move bfloat16 source files to x86-specific block..
Sep 29 2022, 10:02 PM · Restricted Project, Restricted Project
pcc updated subscribers of D127556: gn build: Add support for building the standalone ubsan runtime as a shared library on non-Mac..

Looks like this never got approved and a different set of patches landed instead which didn't include shared library support :(

Sep 29 2022, 9:36 PM · Restricted Project, Restricted Project
pcc requested review of D134931: AArch64: Don't use RETA[AB] when ShadowCallStack is enabled..
Sep 29 2022, 6:31 PM · Restricted Project, Restricted Project

Jun 24 2022

pcc committed rGb064bc18c30c: ELF: Do not relax ADRP/LDR -> ADRP/ADD for absolute symbols in PIC. (authored by pcc).
ELF: Do not relax ADRP/LDR -> ADRP/ADD for absolute symbols in PIC.
Jun 24 2022, 8:48 AM · Restricted Project
pcc closed D128492: ELF: Do not relax ADRP/LDR -> ADRP/ADD for absolute symbols in PIC..
Jun 24 2022, 8:48 AM · Restricted Project, Restricted Project

Jun 23 2022

pcc updated the diff for D128492: ELF: Do not relax ADRP/LDR -> ADRP/ADD for absolute symbols in PIC..

Comment

Jun 23 2022, 10:38 PM · Restricted Project, Restricted Project
pcc added a comment to D128492: ELF: Do not relax ADRP/LDR -> ADRP/ADD for absolute symbols in PIC..

Thanks for catching this case. For absolute symbols we can choose not relaxing in -no-pie mode. Do you prefer relaxing?

Jun 23 2022, 10:37 PM · Restricted Project, Restricted Project
pcc requested review of D128492: ELF: Do not relax ADRP/LDR -> ADRP/ADD for absolute symbols in PIC..
Jun 23 2022, 10:23 PM · Restricted Project, Restricted Project
pcc accepted D115844: [ubsan] Using metadata instead of prologue data for function sanitizer.

Yes, but not indirectly called from C/C++ but rather from compiler-generated code right? That's presumably why this patch + D116130 worked for @zhuhan0.

Jun 23 2022, 7:15 PM · Restricted Project, Restricted Project, Restricted Project
pcc added inline comments to D119296: KCFI sanitizer.
Jun 23 2022, 6:59 PM · Restricted Project, Restricted Project, Restricted Project
pcc accepted D127543: [HWASan] Use new IR attribute for communicating unsanitized globals..

LGTM

Jun 23 2022, 5:36 PM · Restricted Project, Restricted Project

Jun 15 2022

pcc added a comment to D127906: [gn build] Allow use_ubsan=true on mac and unbreak use_asan and use_ubsan.

LGTM

Jun 15 2022, 4:48 PM · Restricted Project, Restricted Project
pcc accepted D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD.

Okay, it seems reasonable enough to have the [[clang::lto_visibility_public]] attribute override the --lto-whole-program-visibility flag.

Jun 15 2022, 4:46 PM · Restricted Project, Restricted Project
pcc updated subscribers of D127906: [gn build] Allow use_ubsan=true on mac and unbreak use_asan and use_ubsan.
Jun 15 2022, 4:34 PM · Restricted Project, Restricted Project
pcc added inline comments to D127906: [gn build] Allow use_ubsan=true on mac and unbreak use_asan and use_ubsan.
Jun 15 2022, 3:53 PM · Restricted Project, Restricted Project
pcc added a comment to D122862: gn build: Fix support for building the builtins for baremetal..

I don't think I would expect the stage 2 runtimes to be built with a sanitizer even if use_asan is set. The sanitizer runtimes themselves don't support being built with sanitizers, and they might be compiled to depend on the builtins, which would create a circular dependency. So I think use_asan and such should only affect the stage 1 compiler. I think I would favor adding use_asan = false to the stage2_unix_toolchain template.

Jun 15 2022, 3:52 PM · Restricted Project, Restricted Project
pcc added a comment to D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD.

This diverges from the documented behavior of -lto-whole-program-visibility. The flag is meant to give all classes hidden LTO visibility, but now it only does that to some of them.

perhaps I'm misunderstanding, but even with -lto-whole-program-visibility classes explicitly marked with public LTO visibility still shouldn't participate in WPD?

Jun 15 2022, 10:21 AM · Restricted Project, Restricted Project
pcc requested changes to D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD.

This diverges from the documented behavior of -lto-whole-program-visibility. The flag is meant to give all classes hidden LTO visibility, but now it only does that to some of them.

Jun 15 2022, 10:14 AM · Restricted Project, Restricted Project

Jun 14 2022

pcc added a comment to D126089: [WPD] Try harder to find assumes through phis.

is this patch ok to submit at least as a short term workaround?

Chrome already has a short-term workaround, which is to disable opaque pointers, right? I think you can use that until the proper fix is developed.

As upstream tests move away from testing typed pointers, I'm worried that pinning to typed pointers will cause regressions that we don't want to spend time investigating. I'm not sure how long a redesign/rewrite would take so I'd like to get Chrome off of typed pointers soonish.

Jun 14 2022, 2:21 PM · Restricted Project, Restricted Project