Page MenuHomePhabricator

dmajor (David Major)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 10 2017, 10:09 AM (70 w, 4 d)

Recent Activity

Tue, Mar 12

dmajor added a comment to D56675: [lld] add options for context-sensitive PGO..

Are there any bugs/reviews/etc. that I can subscribe to for the implementation of this in COFF?

Tue, Mar 12, 10:18 AM · Restricted Project

Wed, Feb 27

dmajor accepted D58739: [COFF] Add address-taken import thunks to the fid table.

Oh you know what, I bet it's https://reviews.llvm.org/D53540#1326473. Rust has an LLVM roll in progress as I write this, so this should just sort itself out.

Wed, Feb 27, 6:17 PM · Restricted Project
dmajor added inline comments to D58739: [COFF] Add address-taken import thunks to the fid table.
Wed, Feb 27, 3:27 PM · Restricted Project
dmajor added a comment to D58739: [COFF] Add address-taken import thunks to the fid table.

The function that I'm interested in (a Rust function, on arm64, if it matters) is apparently failing the IMAGE_SYM_DTYPE_FUNCTION test. Is there any other category of thing that it could be?

Wed, Feb 27, 3:08 PM · Restricted Project
dmajor added a comment to D58739: [COFF] Add address-taken import thunks to the fid table.

So after some further digging I was wrong, and my particular bug isn't to do with S->kind(). :(

Wed, Feb 27, 2:43 PM · Restricted Project

Mon, Feb 25

dmajor committed rGb4e16e6ad152: [winasan] Unpoison stack memory when threads exit (redux) (authored by dmajor).
[winasan] Unpoison stack memory when threads exit (redux)
Mon, Feb 25, 5:38 PM
dmajor committed rCRT354836: [winasan] Unpoison stack memory when threads exit (redux).
[winasan] Unpoison stack memory when threads exit (redux)
Mon, Feb 25, 5:35 PM
dmajor committed rL354836: [winasan] Unpoison stack memory when threads exit (redux).
[winasan] Unpoison stack memory when threads exit (redux)
Mon, Feb 25, 5:35 PM
dmajor closed D58641: [winasan] Unpoison stack memory when threads exit (redux).
Mon, Feb 25, 5:35 PM · Restricted Project, Restricted Project
dmajor added a comment to D58641: [winasan] Unpoison stack memory when threads exit (redux).

@rnk would you be able to test this out on the nacl browser_tests before landing?

Mon, Feb 25, 11:44 AM · Restricted Project, Restricted Project
dmajor created D58641: [winasan] Unpoison stack memory when threads exit (redux).
Mon, Feb 25, 11:42 AM · Restricted Project, Restricted Project
Herald added a project to D55056: [CMake] Default options for faster executables on MSVC: Restricted Project.
Mon, Feb 25, 7:58 AM · Restricted Project

Feb 12 2019

dmajor committed rG5b07e3040885: [gn build] Separate debug and optimization settings (authored by dmajor).
[gn build] Separate debug and optimization settings
Feb 12 2019, 2:25 PM
dmajor committed rL353888: [gn build] Separate debug and optimization settings.
[gn build] Separate debug and optimization settings
Feb 12 2019, 2:24 PM
dmajor closed D58075: [gn build] Separate debug and optimization settings.
Feb 12 2019, 2:24 PM · Restricted Project

Feb 11 2019

dmajor created D58075: [gn build] Separate debug and optimization settings.
Feb 11 2019, 2:17 PM · Restricted Project

Feb 4 2019

dmajor committed rG1137fce9e9e5: gn build: Windows: use a more standard format for PDB filenames (authored by dmajor).
gn build: Windows: use a more standard format for PDB filenames
Feb 4 2019, 1:29 PM
dmajor committed rL353099: gn build: Windows: use a more standard format for PDB filenames.
gn build: Windows: use a more standard format for PDB filenames
Feb 4 2019, 1:29 PM
dmajor committed rGd1934853a8b1: gn build: Revert r353094 (bad merge) (authored by dmajor).
gn build: Revert r353094 (bad merge)
Feb 4 2019, 1:25 PM
dmajor committed rL353098: gn build: Revert r353094 (bad merge).
gn build: Revert r353094 (bad merge)
Feb 4 2019, 1:25 PM
dmajor committed rG1469ff417bba: gn build: Windows: use a more standard format for PDB filenames (authored by dmajor).
gn build: Windows: use a more standard format for PDB filenames
Feb 4 2019, 1:24 PM
dmajor committed rL353094: gn build: Windows: use a more standard format for PDB filenames.
gn build: Windows: use a more standard format for PDB filenames
Feb 4 2019, 1:20 PM
dmajor closed D57613: gn build: Windows: use a more standard format for PDB filenames.
Feb 4 2019, 1:20 PM · Restricted Project
dmajor committed rG3c659cb267dd: gn build: Windows: write PDBs when is_debug (authored by dmajor).
gn build: Windows: write PDBs when is_debug
Feb 4 2019, 1:15 PM
dmajor committed rL353093: gn build: Windows: write PDBs when is_debug.
gn build: Windows: write PDBs when is_debug
Feb 4 2019, 1:13 PM
dmajor closed D57612: gn build: Windows: write PDBs when is_debug.
Feb 4 2019, 1:13 PM · Restricted Project
dmajor added a comment to D57613: gn build: Windows: use a more standard format for PDB filenames.

Do you care much about this? The naming here might be somewhat unconventional, but it's more flexible (consider the completely hypothetical case of a build having both "chrome.exe" and "chorme.dll" – if you call the pdb for both "chrome.dll" they'll get in each other's way, but with this scheme it works fine) and ever so slightly less code. So I weakly prefer what we currently have, but I almost never do debug builds so I don't care all that much. I'll accept this so that you can land it if you want, but I'd weakly prefer if you didn't :-)

Feb 4 2019, 8:19 AM · Restricted Project

Feb 1 2019

dmajor added a comment to D57575: [LLD] [COFF] Create range extension thunks for ARM64.

@ruiu - What do you think about this and D57574 wrt backporting to 8.0? They should be pretty safe, but on the other hand I don't think they're something that many random users will run into either.

I wouldn't personally request cherrypicking that change at this point because it's not a regression from 7.0 and doesn't seem like a big issue. But if you feel otherwise, feel free to submit a cherrypick request.

Feb 1 2019, 7:01 PM · Restricted Project
dmajor added inline comments to D57613: gn build: Windows: use a more standard format for PDB filenames.
Feb 1 2019, 12:36 PM · Restricted Project
dmajor created D57613: gn build: Windows: use a more standard format for PDB filenames.
Feb 1 2019, 12:35 PM · Restricted Project
dmajor created D57612: gn build: Windows: write PDBs when is_debug.
Feb 1 2019, 12:33 PM · Restricted Project

Jan 22 2019

dmajor added a comment to D56986: COFF, ELF: ICF: Perform 2 rounds of relocation hash propagation..
In D56986#1366874, @pcc wrote:

Is this worth picking over to 8.0 after it lands?

I'm more ambivalent about this one since it's more of a perf improvement than a fix for a perf regression like D56955 is. But I have no strong objections to doing so.

That's fair; we can just cherry-pick it to our 8.0 branch internally if it doesn't end up merged here :) It's early in the release cycle though, so I figured it was okay for small-ish changes like this which result in big improvements to go in.

Jan 22 2019, 2:07 PM

Jan 18 2019

dmajor abandoned D56953: [COFF] Limit PR39667 ICF partitioning changes to ARM64.

Even better -- thanks!

Jan 18 2019, 10:30 PM
dmajor created D56953: [COFF] Limit PR39667 ICF partitioning changes to ARM64.
Jan 18 2019, 6:01 PM

Jan 16 2019

dmajor added a comment to D56813: [AArch64] [Windows] Share unwind codes between epilogues with identical unwind codes.

The updated patch works for Firefox too.

Jan 16 2019, 7:48 PM
dmajor added a comment to D56813: [AArch64] [Windows] Share unwind codes between epilogues with identical unwind codes.

I've confirmed that I can build Firefox successfully with this patch on top of latest trunk. Thank you @ssijaric!

Jan 16 2019, 4:11 PM

Jan 9 2019

dmajor committed rL350774: Don't require a null terminator when loading objects.
Don't require a null terminator when loading objects
Jan 9 2019, 3:40 PM
dmajor closed D56475: Don't require a null terminator when loading objects.
Jan 9 2019, 3:40 PM

Jan 8 2019

dmajor added a comment to D56419: [gn build] Move .gn file to the root of the monorepo.

I'd be interested in feedback from more people if anyone has any (e.g. "don't care").

Jan 8 2019, 3:13 PM

Nov 19 2018

dmajor added a comment to D54723: [COFF] Add exported functions to gfids table for /guard:cf.

Thanks! I applied the patch and confirmed that it fixes the problematic Firefox DLL. (I don't know if I'm allowed to formally approve it though...)

Nov 19 2018, 5:21 PM

Nov 9 2018

dmajor added inline comments to D53540: [COFF, ARM64] Implement support for SEH extensions __try/__except/__finally.
Nov 9 2018, 7:08 PM

Nov 8 2018

dmajor added inline comments to D53540: [COFF, ARM64] Implement support for SEH extensions __try/__except/__finally.
Nov 8 2018, 12:29 PM
dmajor added inline comments to D53540: [COFF, ARM64] Implement support for SEH extensions __try/__except/__finally.
Nov 8 2018, 7:57 AM

Nov 2 2018

dmajor added inline comments to D53988: Close file mapping handle on Windows, so flushed gcda files can be removed while the process is in execution.
Nov 2 2018, 12:59 PM

Oct 22 2018

dmajor added a comment to D51204: [COFF, ARM64] Add MS intrinsics: __getReg, _ReadStatusReg, _WriteStatusReg.

Will abandon this patch since I have implementations of these which I will upstream soon.

Oct 22 2018, 3:37 PM
Herald updated subscribers of D50166: [ARM64] [Windows] MCLayer support for exception handling.
Oct 22 2018, 2:48 PM
dmajor added a comment to D53431: clang appears not to respect __attribute__((noinline)).

The intent of noinline in LLVM's IR is to block inlining, not all interprocedural optimizations. So I don't think this is actually a bug

Oct 22 2018, 2:17 PM

Oct 15 2018

dmajor created P8111 aarch64 crash 2.
Oct 15 2018, 10:13 AM

Oct 8 2018

dmajor changed the visibility for P8110 aarch64 crash 1.
Oct 8 2018, 7:55 AM
dmajor created P8110 aarch64 crash 1.
Oct 8 2018, 7:53 AM

Oct 3 2018

dmajor added a comment to D52091: [winasan] Unpoison the stack in NtTerminateThread.

Relanded in r343606.

Oct 3 2018, 2:55 PM

Oct 2 2018

dmajor committed rCRT343606: Reland r342652 "[winasan] Unpoison the stack in NtTerminateThread".
Reland r342652 "[winasan] Unpoison the stack in NtTerminateThread"
Oct 2 2018, 10:21 AM
dmajor committed rL343606: Reland r342652 "[winasan] Unpoison the stack in NtTerminateThread".
Reland r342652 "[winasan] Unpoison the stack in NtTerminateThread"
Oct 2 2018, 10:20 AM

Sep 26 2018

dmajor committed rCRT343123: [winasan] Pin the ASan DLL to prevent unloading.
[winasan] Pin the ASan DLL to prevent unloading
Sep 26 2018, 9:31 AM
dmajor committed rL343123: [winasan] Pin the ASan DLL to prevent unloading.
[winasan] Pin the ASan DLL to prevent unloading
Sep 26 2018, 9:31 AM
dmajor closed D52505: [winasan] Pin the ASan DLL to prevent unloading.
Sep 26 2018, 9:31 AM

Sep 25 2018

dmajor requested review of D52505: [winasan] Pin the ASan DLL to prevent unloading.
Sep 25 2018, 3:50 PM
dmajor updated the diff for D52505: [winasan] Pin the ASan DLL to prevent unloading.

After writing the last comment and thinking about this some more, I convinced myself that this is more of a problem with interceptors than exception handlers.

Sep 25 2018, 3:50 PM
dmajor added inline comments to D52505: [winasan] Pin the ASan DLL to prevent unloading.
Sep 25 2018, 2:56 PM
dmajor added a comment to D52505: [winasan] Pin the ASan DLL to prevent unloading.

@rnk, do I guess correctly that the runtime pretty deeply assumes that it will never be unloaded? Interceptions, exception handlers, etc. never get cleaned up? If that's the case then I don't feel too bad about this hack. But if unloading is supported by the design, then maybe we should do something more graceful than this.

Sep 25 2018, 9:15 AM
dmajor created D52505: [winasan] Pin the ASan DLL to prevent unloading.
Sep 25 2018, 9:12 AM

Sep 20 2018

dmajor committed rCRT342654: Fix test after r342652.
Fix test after r342652
Sep 20 2018, 8:26 AM
dmajor committed rL342654: Fix test after r342652.
Fix test after r342652
Sep 20 2018, 8:26 AM
dmajor committed rL342652: [winasan] Unpoison the stack in NtTerminateThread.
[winasan] Unpoison the stack in NtTerminateThread
Sep 20 2018, 8:01 AM
dmajor committed rCRT342652: [winasan] Unpoison the stack in NtTerminateThread.
[winasan] Unpoison the stack in NtTerminateThread
Sep 20 2018, 8:00 AM
dmajor closed D52091: [winasan] Unpoison the stack in NtTerminateThread.
Sep 20 2018, 8:00 AM
dmajor committed rL342649: [winasan] Reduce hotpatch prefix check to 8 bytes.
[winasan] Reduce hotpatch prefix check to 8 bytes
Sep 20 2018, 7:30 AM
dmajor committed rCRT342649: [winasan] Reduce hotpatch prefix check to 8 bytes.
[winasan] Reduce hotpatch prefix check to 8 bytes
Sep 20 2018, 7:30 AM
dmajor closed D51788: [winasan] Reduce hotpatch prefix check to 8 bytes.
Sep 20 2018, 7:30 AM

Sep 14 2018

dmajor created D52091: [winasan] Unpoison the stack in NtTerminateThread.
Sep 14 2018, 6:00 AM

Sep 7 2018

dmajor added a comment to D51788: [winasan] Reduce hotpatch prefix check to 8 bytes.

This isn't strictly necessary for anything; I was just debugging something and noticed that a hook fell back to Trampoline rather than Hotpatch because the prefix nop was only 8 bytes.

Sep 7 2018, 8:09 AM
dmajor created D51788: [winasan] Reduce hotpatch prefix check to 8 bytes.
Sep 7 2018, 7:14 AM

Aug 16 2018

dmajor added a comment to D47916: [asan, myriad] Use local pool for new/delete when ASan run-time is not up.

This broke Windows debug builds where MemalignFromLocalPool becomes an unresolved external. (I guess in optimized builds the call within the if(0) gets optimized away.)

Aug 16 2018, 8:33 AM

Jun 5 2018

dmajor added a comment to D47266: Update thin-lto cache file atimes when on windows.

I don't know this code well enough to be a proper reviewer, but I want to offer moral support for this change. Not having atime updates on NTFS can be frustrating at times.

Jun 5 2018, 2:19 PM

May 11 2018

dmajor committed rCRT332095: [winasan] Update GetInstructionSize for Win10 1803.
[winasan] Update GetInstructionSize for Win10 1803
May 11 2018, 7:35 AM
dmajor committed rL332095: [winasan] Update GetInstructionSize for Win10 1803.
[winasan] Update GetInstructionSize for Win10 1803
May 11 2018, 7:34 AM
dmajor closed D46458: [winasan] Update GetInstructionSize for Win10 1803.
May 11 2018, 7:34 AM
dmajor committed rCRT332092: [ASan] Fix range check in AddrIsInHighShadow.
[ASan] Fix range check in AddrIsInHighShadow
May 11 2018, 7:27 AM
dmajor committed rL332092: [ASan] Fix range check in AddrIsInHighShadow.
[ASan] Fix range check in AddrIsInHighShadow
May 11 2018, 7:27 AM
dmajor closed D46291: [ASan] Fix range check in AddrIsInHighShadow.
May 11 2018, 7:27 AM

May 4 2018

dmajor added a reviewer for D46458: [winasan] Update GetInstructionSize for Win10 1803: rnk.
May 4 2018, 1:47 PM
dmajor created D46458: [winasan] Update GetInstructionSize for Win10 1803.
May 4 2018, 1:47 PM
dmajor committed rCRT331523: Comment fix..
Comment fix.
May 4 2018, 7:46 AM
dmajor committed rL331523: Comment fix..
Comment fix.
May 4 2018, 7:45 AM

May 1 2018

dmajor updated the diff for D46291: [ASan] Fix range check in AddrIsInHighShadow.

Fixed AddrIsInMidShadow too.

May 1 2018, 1:33 PM
dmajor added a comment to D46291: [ASan] Fix range check in AddrIsInHighShadow.

Hmm, come to think of it, AddrIsInMidShadow has the same bug, right?

May 1 2018, 1:08 PM

Apr 30 2018

dmajor created D46291: [ASan] Fix range check in AddrIsInHighShadow.
Apr 30 2018, 3:07 PM

Dec 14 2017

dmajor added a comment to D39994: Loosen MSVC 2017 path requirements.

Anyway, I'm just venting. If rnk@ wants to lgtm this, I'm fine.

Dec 14 2017, 11:59 AM

Dec 6 2017

dmajor added a comment to D39968: [COFF] Ignore semicolons in module definition identifiers.

@ruiu Does this patch look ok?

Dec 6 2017, 10:46 AM · lld

Nov 22 2017

dmajor updated the diff for D39972: [LLD] [COFF] Support ENTRY and SUBSYSTEM in .drectve sections.

While writing a test I found a problem: the code that infers /entry should not run if we've previously defined one in a drectve. (In Mozilla's build, it worked by accident because the drectve was redundantly specifying the same function that got inferred.) Updated the patch.

Nov 22 2017, 12:36 PM · lld

Nov 20 2017

dmajor added a comment to D39972: [LLD] [COFF] Support ENTRY and SUBSYSTEM in .drectve sections.
Nov 20 2017, 1:58 PM · lld
dmajor updated the diff for D39968: [COFF] Ignore semicolons in module definition identifiers.

Added a test. If this looks OK, do you mind landing it for me?

Nov 20 2017, 9:20 AM · lld

Nov 13 2017

dmajor created D39994: Loosen MSVC 2017 path requirements.
Nov 13 2017, 5:52 PM
dmajor created D39972: [LLD] [COFF] Support ENTRY and SUBSYSTEM in .drectve sections.
Nov 13 2017, 12:46 PM · lld
dmajor updated subscribers of D39968: [COFF] Ignore semicolons in module definition identifiers.
Nov 13 2017, 11:14 AM · lld
dmajor created D39968: [COFF] Ignore semicolons in module definition identifiers.
Nov 13 2017, 10:40 AM · lld