Page MenuHomePhabricator
Feed Advanced Search

Thu, May 14

pcc committed rGd2a26ad0dc2b: hwasan: Collect ring buffer statistics and include in dev note. (authored by pcc).
hwasan: Collect ring buffer statistics and include in dev note.
Thu, May 14, 10:17 AM
pcc closed D79913: hwasan: Collect ring buffer statistics and include in dev note..
Thu, May 14, 10:17 AM · Restricted Project
pcc accepted D79919: [Driver] Pass -plugin-opt=O2 for -Os -Oz and -plugin-opt=O1 for -Og.

LGTM

Thu, May 14, 10:16 AM · Restricted Project

Wed, May 13

pcc added a comment to D79818: [lld] Support size levels with (Thin)LTO.

@mehdi_amini @pcc @tejohnson

I just saw another issue saying that clang -Os -flto=thin a.c does not work https://bugs.llvm.org/show_bug.cgi?id=45913 (+ @manojgupta)
I marked it as yet another duplicate of PR42445

For -Os, clang driver passes -plugin-opt=Os (https://github.com/llvm/llvm-project/blob/master/clang/lib/Driver/ToolChains/CommonArgs.cpp#L402) but neither LLVMgold.so nor LLD recognizes -plugin-opt=Os.
-Oz is similar. What is the concrete suggestion here? For quick reference, the -plugin-opt=O logic was added by rL256146.

The issue form my perspective is the inconsistency. Today, lld accepts -plugin-opt=O<number> but it doesn't accept -plugin-opt=O<letter>, but Clang automatically translates -O<anything> to -plugin-opt=O<anything> which results in a failure when your try to use -Os, -Oz or -Og with (Thin)LTO.

Wed, May 13, 4:57 PM · Restricted Project
pcc added a comment to D79913: hwasan: Collect ring buffer statistics and include in dev note..

Not sure if there's a good way to test this @eugenis?

Wed, May 13, 4:57 PM · Restricted Project
pcc created D79913: hwasan: Collect ring buffer statistics and include in dev note..
Wed, May 13, 4:57 PM · Restricted Project

Tue, May 12

pcc added a comment to D79822: [AArch64] Emit CFI instruction for updating x18 when using ShadowCallStack with exception unwinding.

It is unclear to me whether removing the nounwind condition is necessary. The wording in the langref talks about "asynchronous exceptions" but only provides semantics for "exception handling schemes that are recognized by LLVM to handle asynchronous exceptions, such as SEH". Since we don't support anything like that on non-Windows. I don't believe that we need to support throwing exceptions past such functions on DWARF platforms, and the unwind info can only be used for the purpose of creating a stack trace.

Tue, May 12, 5:15 PM · Restricted Project

Wed, May 6

pcc accepted D79522: Allow -fsanitize-minimal-runtime with memtag sanitizer..

LGTM

Wed, May 6, 4:30 PM · Restricted Project

Fri, May 1

pcc committed rG8fac07a12adc: scudo: Exclude previous tag when retagging freed memory. (authored by pcc).
scudo: Exclude previous tag when retagging freed memory.
Fri, May 1, 5:21 PM
pcc closed D79216: scudo: Exclude previous tag when retagging freed memory..
Fri, May 1, 5:21 PM · Restricted Project

Thu, Apr 30

pcc added a comment to D79153: [lld-macho] Avoid unnecessary preprocessing of relocations.

The architecture may need to be different here IMHO because of subsections. Don't forget that you need to map relocations onto subsections in order to implement gc-sections, and depending on the number of subsections you have per section, that could get expensive without an intermediate data structure. On top of that you'd still need the O(M log N) at output time. To me it seemed better to pay the O(M log N) up front once and avoid the cost at gc-sections time.

Thu, Apr 30, 5:11 PM · Restricted Project
pcc created D79216: scudo: Exclude previous tag when retagging freed memory..
Thu, Apr 30, 5:11 PM · Restricted Project

Apr 22 2020

pcc committed rG3616e851f66e: scudo: Change the macro used to check whether we're targeting the platform. (authored by pcc).
scudo: Change the macro used to check whether we're targeting the platform.
Apr 22 2020, 10:53 AM
pcc closed D78594: scudo: Change the macro used to check whether we're targeting the platform..
Apr 22 2020, 10:53 AM · Restricted Project

Apr 21 2020

pcc created D78594: scudo: Change the macro used to check whether we're targeting the platform..
Apr 21 2020, 3:44 PM · Restricted Project

Apr 17 2020

pcc committed rG21d50019ca83: scudo: Add support for diagnosing memory errors when memory tagging is enabled. (authored by pcc).
scudo: Add support for diagnosing memory errors when memory tagging is enabled.
Apr 17 2020, 5:31 PM
pcc closed D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
Apr 17 2020, 5:31 PM · Restricted Project
pcc added a comment to D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..

Thanks Peter & Mitch!
As a side issue, do you have an idea on how to support the interface functions (__scudo_*) for both allocators once we get svelte support?

Apr 17 2020, 5:31 PM · Restricted Project

Apr 16 2020

pcc accepted D77421: [WPD] Avoid noalias assumptions in unique return value optimization.

LGTM

Apr 16 2020, 1:56 PM · Restricted Project

Apr 9 2020

pcc updated the diff for D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
  • Replace the fuzzer with one written by mitchp and fix an overflow bug
  • Move RegionInfo alignment to field to avoid alignment requirement for getErrorInfo callers
Apr 9 2020, 3:30 PM · Restricted Project
pcc committed rG9c86b83ffc8f: scudo: Replace ALIGNED macro with standard alignas specifier. (authored by pcc).
scudo: Replace ALIGNED macro with standard alignas specifier.
Apr 9 2020, 2:43 PM
pcc closed D77823: scudo: Replace ALIGNED macro with standard alignas specifier..
Apr 9 2020, 2:43 PM · Restricted Project
pcc added a comment to D77823: scudo: Replace ALIGNED macro with standard alignas specifier..

Did you verify this works on Fuchsia by chance?

Apr 9 2020, 2:11 PM · Restricted Project
pcc created D77823: scudo: Replace ALIGNED macro with standard alignas specifier..
Apr 9 2020, 1:50 PM · Restricted Project
pcc added inline comments to D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
Apr 9 2020, 1:04 PM · Restricted Project
pcc updated the diff for D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
  • Fix build error
Apr 9 2020, 1:02 PM · Restricted Project

Apr 8 2020

pcc updated the diff for D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
  • Add fuzzer, fix bugs found using it
Apr 8 2020, 7:01 PM · Restricted Project
pcc added inline comments to D77421: [WPD] Avoid noalias assumptions in unique return value optimization.
Apr 8 2020, 1:03 PM · Restricted Project
pcc added inline comments to D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
Apr 8 2020, 9:45 AM · Restricted Project

Apr 7 2020

pcc added inline comments to D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
Apr 7 2020, 6:00 PM · Restricted Project

Apr 6 2020

pcc added inline comments to D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
Apr 6 2020, 1:37 PM · Restricted Project

Apr 3 2020

pcc added inline comments to D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
Apr 3 2020, 8:02 PM · Restricted Project
pcc updated the diff for D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
  • Address review comments
Apr 3 2020, 8:02 PM · Restricted Project

Apr 1 2020

pcc created D77283: scudo: Add support for diagnosing memory errors when memory tagging is enabled..
Apr 1 2020, 8:42 PM · Restricted Project

Mar 27 2020

pcc added a comment to D76322: tsan: Adding releaseAcquire() to ThreadClock.

It looks like this change broke the sanitizer-x86_64-linux-autoconf buildbot.
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/48824

/b/sanitizer-x86_64-linux-autoconf/build/llvm-project/compiler-rt/lib/tsan/rtl/tsan_clock.cpp:190:13: error: use of undeclared identifier 'dst'
  DCHECK_LE(dst->size_, kMaxTid);
            ^
1 error generated.

Can you please take a look?

Mar 27 2020, 1:43 PM

Mar 26 2020

pcc added a comment to D76578: [compiler-rt] Intercept the uname() function.

This change broke the sanitizer-x86_64-linux bot: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/26313
Please take a look.

Mar 26 2020, 12:33 PM · Restricted Project

Mar 23 2020

pcc committed rG8140f6bcde42: scudo: Create a public include directory. NFCI. (authored by pcc).
scudo: Create a public include directory. NFCI.
Mar 23 2020, 6:32 PM
pcc closed D76648: scudo: Create a public include directory. NFCI..
Mar 23 2020, 6:32 PM · Restricted Project
pcc created D76648: scudo: Create a public include directory. NFCI..
Mar 23 2020, 4:21 PM · Restricted Project
pcc added a comment to D76410: [ELF] Don't combine SHF_LINK_ORDER sections linking different output sections.

Having given this some more thought, I'm still not in favour of this change even with start/stop symbols excluded, since there are other cases where enumeration of SHF_LINK_ORDER sections may be possible/desirable. To give one example, imagine that you have .init_array sections linked to the globals that they initialize (this may be possible if you can prove that the constructor has no side effects other than initializing the object). With this change we may for example have multiple .init_array sections for .bss and .data, which would need to be accounted for when computing DT_INIT_ARRAY/DT_INIT_ARRAY_SZ. There are various ways that you could deal with this sort of situation, but it seems like the simplest one would be to stick with one output section per file.

Mar 23 2020, 1:38 PM · Restricted Project
pcc added a comment to D76058: [OpenMPOpt] Validate declaration types against the expected types .

This change broke the msan buildbot: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/39755

==70358==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x5a602b2 in deleteParallelRegions /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Transforms/IPO/OpenMPOpt.cpp:127:9
    #1 0x5a602b2 in (anonymous namespace)::OpenMPOpt::run() /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Transforms/IPO/OpenMPOpt.cpp:116:16
    #2 0x5a94252 in (anonymous namespace)::OpenMPOptLegacyPass::runOnSCC(llvm::CallGraphSCC&) /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Transforms/IPO/OpenMPOpt.cpp:559:19
    #3 0x3f53893 in RunPassOnSCC /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:139:23
Mar 23 2020, 12:33 PM · Restricted Project, Restricted Project

Mar 20 2020

pcc requested changes to D76410: [ELF] Don't combine SHF_LINK_ORDER sections linking different output sections.
Mar 20 2020, 5:22 PM · Restricted Project

Mar 12 2020

pcc added inline comments to D75655: [Docs] Document -lto-whole-program-visibility.
Mar 12 2020, 10:18 AM · Restricted Project

Mar 5 2020

pcc added inline comments to D71913: [LTO/WPD] Enable aggressive WPD under LTO option.
Mar 5 2020, 11:32 AM · Restricted Project, Restricted Project
pcc added a comment to D75617: [WPD] Provide a way to prevent function(s) from being devirtualized.

@pcc Just to clarify: I'm using this patch to identify problems with WPD (typically those are either invalid reinterpret_cast or open type hierarchy). I find it convenient to obtain a list of devirtualized functions using pass remarks, "undevirtualize" some of them relink and run. With attributes it seems to be much harder

Mar 5 2020, 11:32 AM · Restricted Project
pcc added a comment to D75617: [WPD] Provide a way to prevent function(s) from being devirtualized.

There is already a way to do this, with the attribute [[clang::lto_visibility_public]]. Why do you need another one?

Mar 5 2020, 10:57 AM · Restricted Project
pcc added inline comments to D75655: [Docs] Document -lto-whole-program-visibility.
Mar 5 2020, 10:57 AM · Restricted Project

Mar 3 2020

pcc added inline comments to D75382: [lld] Initial commit for new Mach-O backend.
Mar 3 2020, 9:39 AM · Restricted Project

Mar 2 2020

pcc added inline comments to D75382: [lld] Initial commit for new Mach-O backend.
Mar 2 2020, 1:43 PM · Restricted Project
pcc added inline comments to D75382: [lld] Initial commit for new Mach-O backend.
Mar 2 2020, 12:03 PM · Restricted Project
pcc added inline comments to D71913: [LTO/WPD] Enable aggressive WPD under LTO option.
Mar 2 2020, 11:36 AM · Restricted Project, Restricted Project

Feb 24 2020

pcc committed rG0414c5694073: Revert "Rework go bindings so that validation works fine" (authored by pcc).
Revert "Rework go bindings so that validation works fine"
Feb 24 2020, 9:26 AM
pcc added a reverting change for rGe8f8873da5ea: Rework go bindings so that validation works fine: rG0414c5694073: Revert "Rework go bindings so that validation works fine".
Feb 24 2020, 9:26 AM
pcc added a comment to D75060: [test][go]Use -stdlib=libc++ to build GO binding test if LLVM is built with libc++.

This should be fixed by rG0414c5694073de26fd33a0276c47c6adea5284cf.

Feb 24 2020, 9:26 AM · Restricted Project
pcc added a comment to D74540: Rework go bindings so that binding tests work fine.

Now that llvm-go has been brought back, I've reverted this change.

Feb 24 2020, 9:26 AM · Restricted Project

Feb 13 2020

pcc accepted D74567: [scudo][standalone] Workaround for full regions on Android.

LGTM

Feb 13 2020, 12:52 PM · Restricted Project, Restricted Project
pcc accepted D74567: [scudo][standalone] Workaround for full regions on Android.

Does it make sense to write a test for this?

Feb 13 2020, 9:47 AM · Restricted Project, Restricted Project
pcc reopened D74540: Rework go bindings so that binding tests work fine.

This broke users of the go bindings who were using build.sh, and changed the import path for the bindings unnecessarily. Can we please just bring back llvm-go as I requested before?

Feb 13 2020, 8:42 AM · Restricted Project

Feb 11 2020

pcc committed rG87303fd91711: scudo: Fix various test failures, mostly on 32-bit. (authored by pcc).
scudo: Fix various test failures, mostly on 32-bit.
Feb 11 2020, 12:24 PM
pcc closed D74429: scudo: Fix various test failures, mostly on 32-bit..
Feb 11 2020, 12:24 PM · Restricted Project, Restricted Project
pcc added inline comments to D74429: scudo: Fix various test failures, mostly on 32-bit..
Feb 11 2020, 12:24 PM · Restricted Project, Restricted Project
pcc requested changes to D74430: [Go] Remove go bindings test as it depends on llvm-go.

We should bring back llvm-go instead. That program doesn't depend on llgo, it's mostly a helper for building the Go bindings.

Feb 11 2020, 11:46 AM · Restricted Project
pcc created D74429: scudo: Fix various test failures, mostly on 32-bit..
Feb 11 2020, 11:37 AM · Restricted Project, Restricted Project
pcc committed rG76d6bce62945: gn build: Make scudo cflags more consistent with the cmake build. (authored by pcc).
gn build: Make scudo cflags more consistent with the cmake build.
Feb 11 2020, 10:06 AM
pcc committed rG515e19ae7b5f: Fix errors/warnings in scudo build. (authored by pcc).
Fix errors/warnings in scudo build.
Feb 11 2020, 8:38 AM

Feb 10 2020

pcc committed rGe79c3b4c2d22: scudo: Fix Android build. (authored by pcc).
scudo: Fix Android build.
Feb 10 2020, 5:07 PM
pcc closed D74366: scudo: Fix Android build..
Feb 10 2020, 5:06 PM · Restricted Project, Restricted Project
pcc created D74366: scudo: Fix Android build..
Feb 10 2020, 3:55 PM · Restricted Project, Restricted Project
pcc committed rG9068766b9a52: scudo: Add a dump of primary allocation sizes to malloc_info output. (authored by pcc).
scudo: Add a dump of primary allocation sizes to malloc_info output.
Feb 10 2020, 3:10 PM
pcc closed D74098: scudo: Add a dump of primary allocation sizes to malloc_info output..
Feb 10 2020, 3:10 PM · Restricted Project, Restricted Project
pcc committed rG681773f2919d: scudo: Instead of exporting a pointer to the allocator, export the allocator… (authored by pcc).
scudo: Instead of exporting a pointer to the allocator, export the allocator…
Feb 10 2020, 3:01 PM
pcc committed rG041547eb4eb0: scudo: Table driven size classes for Android allocator. (authored by pcc).
scudo: Table driven size classes for Android allocator.
Feb 10 2020, 3:01 PM
pcc closed D73824: scudo: Table driven size classes for Android allocator..
Feb 10 2020, 3:01 PM · Restricted Project, Restricted Project
pcc closed D74356: scudo: Instead of exporting a pointer to the allocator, export the allocator directly. NFCI..
Feb 10 2020, 3:01 PM · Restricted Project, Restricted Project
pcc updated the diff for D73824: scudo: Table driven size classes for Android allocator..
  • Adjust the test to use MaxSize-64
Feb 10 2020, 1:57 PM · Restricted Project, Restricted Project
pcc created D74356: scudo: Instead of exporting a pointer to the allocator, export the allocator directly. NFCI..
Feb 10 2020, 1:48 PM · Restricted Project, Restricted Project
pcc added inline comments to D73824: scudo: Table driven size classes for Android allocator..
Feb 10 2020, 10:09 AM · Restricted Project, Restricted Project

Feb 7 2020

pcc added reviewers for D73824: scudo: Table driven size classes for Android allocator.: cryptoad, cferris.
Feb 7 2020, 7:31 PM · Restricted Project, Restricted Project
pcc added a comment to D73824: scudo: Table driven size classes for Android allocator..

PTAL

Feb 7 2020, 7:31 PM · Restricted Project, Restricted Project
pcc updated the diff for D73824: scudo: Table driven size classes for Android allocator..

Finalize

Feb 7 2020, 7:31 PM · Restricted Project, Restricted Project
pcc updated the diff for D74098: scudo: Add a dump of primary allocation sizes to malloc_info output..
  • Zero initialize array
Feb 7 2020, 4:32 PM · Restricted Project, Restricted Project
pcc updated the diff for D74098: scudo: Add a dump of primary allocation sizes to malloc_info output..
  • Use heap
Feb 7 2020, 3:38 PM · Restricted Project, Restricted Project
pcc accepted D74178: [scudo][standalone] 32-bit improvement.

LGTM

Feb 7 2020, 10:45 AM · Restricted Project, Restricted Project

Feb 6 2020

pcc committed rG7931e8eee3da: Update hwasan docs to cover outlined checks and globals. (authored by pcc).
Update hwasan docs to cover outlined checks and globals.
Feb 6 2020, 5:45 PM
pcc closed D74150: Update hwasan docs to cover outlined checks and globals..
Feb 6 2020, 5:45 PM · Restricted Project
pcc added inline comments to D74150: Update hwasan docs to cover outlined checks and globals..
Feb 6 2020, 5:45 PM · Restricted Project
pcc added inline comments to D74178: [scudo][standalone] 32-bit improvement.
Feb 6 2020, 4:23 PM · Restricted Project, Restricted Project
pcc created D74150: Update hwasan docs to cover outlined checks and globals..
Feb 6 2020, 11:19 AM · Restricted Project
pcc added inline comments to D74142: [GWP-ASan] Use weak abort message definition..
Feb 6 2020, 10:40 AM · Restricted Project, Restricted Project
pcc accepted D74135: [GWP-ASan] Fix PRNG to use IE TLS..

LGTM

Feb 6 2020, 10:02 AM · Restricted Project, Restricted Project
pcc committed rGdab7bdad0492: scudo: Delete unused class ScudoByteMap. NFCI. (authored by pcc).
scudo: Delete unused class ScudoByteMap. NFCI.
Feb 6 2020, 9:35 AM
pcc closed D74099: scudo: Delete unused class TwoLevelByteMap. NFCI..
Feb 6 2020, 9:35 AM · Restricted Project, Restricted Project
pcc added inline comments to D74098: scudo: Add a dump of primary allocation sizes to malloc_info output..
Feb 6 2020, 9:19 AM · Restricted Project, Restricted Project

Feb 5 2020

pcc created D74099: scudo: Delete unused class TwoLevelByteMap. NFCI..
Feb 5 2020, 4:47 PM · Restricted Project, Restricted Project
pcc retitled D74099: scudo: Delete unused class TwoLevelByteMap. NFCI. from scudo: Delete unused class ScudoByteMap. NFCI. to scudo: Delete unused class TwoLevelByteMap. NFCI..
Feb 5 2020, 4:47 PM · Restricted Project, Restricted Project
pcc created D74098: scudo: Add a dump of primary allocation sizes to malloc_info output..
Feb 5 2020, 4:29 PM · Restricted Project, Restricted Project
pcc accepted D74072: [scudo][standalone] Fix a race in the secondary release.

LGTM

Feb 5 2020, 10:34 AM · Restricted Project, Restricted Project
pcc added inline comments to D64457: [GWP-ASan] Attempt to fix Android/ARM platforms..
Feb 5 2020, 8:03 AM · Restricted Project, Restricted Project

Feb 4 2020

pcc retitled D73824: scudo: Table driven size classes for Android allocator. from [wip] table driven size classes to [wip] scudo: Table driven size classes for Android allocator..
Feb 4 2020, 8:38 PM · Restricted Project, Restricted Project
pcc updated the diff for D73824: scudo: Table driven size classes for Android allocator..

New approach

Feb 4 2020, 8:30 PM · Restricted Project, Restricted Project