Page MenuHomePhabricator

gkm (Greg McGary)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 13 2020, 11:31 AM (45 w, 4 d)

Recent Activity

Fri, Jan 22

gkm updated the summary of D95204: [lld-macho] switch default to new Darwin port.
Fri, Jan 22, 5:21 PM · Restricted Project, Restricted Project
gkm planned changes to D95204: [lld-macho] switch default to new Darwin port.

Pulling this back from review ... Not ready for prime time.

Fri, Jan 22, 5:19 PM · Restricted Project, Restricted Project

Thu, Jan 21

gkm updated the summary of D95204: [lld-macho] switch default to new Darwin port.
Thu, Jan 21, 10:52 PM · Restricted Project, Restricted Project
gkm updated the summary of D95204: [lld-macho] switch default to new Darwin port.
Thu, Jan 21, 10:52 PM · Restricted Project, Restricted Project
gkm requested review of D95204: [lld-macho] switch default to new Darwin port.
Thu, Jan 21, 10:42 PM · Restricted Project, Restricted Project
gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • Update according to refactored reloc handling
Thu, Jan 21, 2:44 AM · Restricted Project
gkm requested review of D95121: [lld-macho][NFC] refactor relocation handling.
Thu, Jan 21, 2:39 AM · Restricted Project

Mon, Jan 18

gkm requested review of D94938: [lld-macho][NFC] Add new option group for versions.
Mon, Jan 18, 7:00 PM · Restricted Project
gkm updated the diff for D93265: [llvm-objdump-macho] print per-second-level-page encodings for option --unwind-info.
  • Pare CHECK lines to the essentials. Add comments to the test: purpose, plus rationale for binary input.
Mon, Jan 18, 4:17 PM · Restricted Project
gkm requested review of D94935: [lld-macho] Fix alignment & layout to match ld64 and satisfy codesign.
Mon, Jan 18, 3:06 PM · Restricted Project

Mon, Jan 11

gkm added a comment to D93263: [lld-macho] Implement option: -undefined TREATMENT.

@thakis, that's a bug. There is no reason to deviate from ld64.

Mon, Jan 11, 6:06 PM · Restricted Project

Dec 25 2020

gkm added a comment to D93265: [llvm-objdump-macho] print per-second-level-page encodings for option --unwind-info.

@MaskRay?

Dec 25 2020, 6:41 AM · Restricted Project

Dec 21 2020

gkm added inline comments to D93265: [llvm-objdump-macho] print per-second-level-page encodings for option --unwind-info.
Dec 21 2020, 11:57 AM · Restricted Project
gkm updated the diff for D93265: [llvm-objdump-macho] print per-second-level-page encodings for option --unwind-info.
  • add test case
Dec 21 2020, 12:12 AM · Restricted Project

Dec 19 2020

gkm added a comment to D93267: [lld-macho] Handle overflow beyond the 127 common encodings limit.

I fixed the clang-tidy failures before landing. Unfortunately, I neglected to update the diff with the final version, which is why you see the notice that I landed with ongoing build failures. Oops. :(

Dec 19 2020, 8:30 PM · Restricted Project
gkm committed rG99930719c66d: Handle overflow beyond the 127 common encodings limit (authored by gkm).
Handle overflow beyond the 127 common encodings limit
Dec 19 2020, 2:55 PM
gkm closed D93267: [lld-macho] Handle overflow beyond the 127 common encodings limit.
Dec 19 2020, 2:55 PM · Restricted Project

Dec 18 2020

gkm updated the diff for D93267: [lld-macho] Handle overflow beyond the 127 common encodings limit.
  • rewrite encoding-index maps to use .find() rather than .lookup() so we can remove the crufty size_tx
Dec 18 2020, 11:33 PM · Restricted Project
gkm added inline comments to D93267: [lld-macho] Handle overflow beyond the 127 common encodings limit.
Dec 18 2020, 11:29 PM · Restricted Project
gkm added a comment to D93462: [DebugInfo] Support Fortran 'use <external module>' statement..

Awesome! Thank you @cchen15 !

Dec 18 2020, 12:12 PM · debug-info, Restricted Project
gkm added a comment to D93462: [DebugInfo] Support Fortran 'use <external module>' statement..

This diff breaks git source trees on case-insensitive filesystems, such as on macOS.
I did this on Linux, which is case-sensitive:

$ find . |fgrep -i llvm/test/DebugInfo/X86/DIModule.ll
./llvm/test/DebugInfo/X86/DIModule.ll
./llvm/test/DebugInfo/X86/dimodule.ll

On a case-insensitive filesystem, these names collide and one overwrites the other, yeilding a tree with irreconcilable conflicts.

Dec 18 2020, 11:53 AM · debug-info, Restricted Project
gkm updated the diff for D93267: [lld-macho] Handle overflow beyond the 127 common encodings limit.
  • revise according to review feedback
Dec 18 2020, 12:46 AM · Restricted Project
gkm added inline comments to D93267: [lld-macho] Handle overflow beyond the 127 common encodings limit.
Dec 18 2020, 12:26 AM · Restricted Project

Dec 17 2020

gkm committed rGd4ec3346b1ba: [lld-macho][nfc] Refactor to accommodate paired relocs (authored by gkm).
[lld-macho][nfc] Refactor to accommodate paired relocs
Dec 17 2020, 8:22 PM
gkm closed D90614: [lld-macho][nfc] Refactor to accommodate paired relocs.
Dec 17 2020, 8:22 PM · Restricted Project
gkm committed rGcc1cf6332a30: [lld-macho] Implement option: -undefined TREATMENT (authored by gkm).
[lld-macho] Implement option: -undefined TREATMENT
Dec 17 2020, 5:51 PM
gkm closed D93263: [lld-macho] Implement option: -undefined TREATMENT.
Dec 17 2020, 5:50 PM · Restricted Project
gkm updated the diff for D93263: [lld-macho] Implement option: -undefined TREATMENT.
  • s/Twine/std::string/ for message in treatUndefinedSymbol()
Dec 17 2020, 4:48 PM · Restricted Project
gkm updated the diff for D93263: [lld-macho] Implement option: -undefined TREATMENT.
  • Fix "undefined symbol:" expected strings in more tests
Dec 17 2020, 12:07 PM · Restricted Project
gkm added inline comments to D93263: [lld-macho] Implement option: -undefined TREATMENT.
Dec 17 2020, 11:53 AM · Restricted Project
gkm updated the diff for D93263: [lld-macho] Implement option: -undefined TREATMENT.
  • Use .empty() rather than .size() != 0 for existence check
Dec 17 2020, 10:49 AM · Restricted Project
gkm updated the diff for D90614: [lld-macho][nfc] Refactor to accommodate paired relocs.
  • cleanup: convert remaining instances of relocation_info pass-by-cost-reference to pass-by-value
  • address lingering feedback nits
Dec 17 2020, 10:23 AM · Restricted Project
gkm added inline comments to D90614: [lld-macho][nfc] Refactor to accommodate paired relocs.
Dec 17 2020, 9:49 AM · Restricted Project

Dec 16 2020

gkm updated the diff for D90614: [lld-macho][nfc] Refactor to accommodate paired relocs.
  • Add block comment about paired relocs
Dec 16 2020, 3:53 PM · Restricted Project
gkm updated the diff for D90614: [lld-macho][nfc] Refactor to accommodate paired relocs.
  • revise according to review feedback: remove parens around RHS expressions of return & assignment
Dec 16 2020, 1:38 PM · Restricted Project
gkm updated the diff for D93263: [lld-macho] Implement option: -undefined TREATMENT.
  • finalize according to review feedback
Dec 16 2020, 9:49 AM · Restricted Project

Dec 15 2020

gkm updated the diff for D93263: [lld-macho] Implement option: -undefined TREATMENT.
  • respond to review feedback
  • add test case
Dec 15 2020, 11:44 PM · Restricted Project
gkm added inline comments to D93263: [lld-macho] Implement option: -undefined TREATMENT.
Dec 15 2020, 11:44 PM · Restricted Project
gkm added inline comments to D93263: [lld-macho] Implement option: -undefined TREATMENT.
Dec 15 2020, 8:06 PM · Restricted Project

Dec 14 2020

gkm requested review of D93267: [lld-macho] Handle overflow beyond the 127 common encodings limit.
Dec 14 2020, 6:53 PM · Restricted Project
gkm requested review of D93265: [llvm-objdump-macho] print per-second-level-page encodings for option --unwind-info.
Dec 14 2020, 6:45 PM · Restricted Project
gkm requested review of D93263: [lld-macho] Implement option: -undefined TREATMENT.
Dec 14 2020, 6:35 PM · Restricted Project

Nov 30 2020

gkm added a comment to D91884: clang+lld: Improve clang+ld.darwinnew.lld interaction, pass -demangle.

Thank you for this!

Nov 30 2020, 7:49 PM · Restricted Project, Restricted Project
gkm added a comment to rGf2710d4b5760: lld/mach-o: Infer darwinnew from filename ld64.lld.darwinnew too.

Thank you for this!

Nov 30 2020, 7:49 PM

Nov 5 2020

gkm added inline comments to D90614: [lld-macho][nfc] Refactor to accommodate paired relocs.
Nov 5 2020, 11:27 PM · Restricted Project
gkm added inline comments to D90614: [lld-macho][nfc] Refactor to accommodate paired relocs.
Nov 5 2020, 10:57 PM · Restricted Project

Nov 2 2020

gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • Factor skeletal paired-reloc support into a separate prerequisite diff
  • ARM64RelocAttrs: drop type, add name, drop Optional<> from tlv
  • s/getImplicitAddend/getAddend/ because it handles all forms of addend: implicit, explicit, paired.
  • Add arm64 arch to test inputs MacOSX.sdk/usr/lib/lib*.tbd
Nov 2 2020, 7:57 AM · Restricted Project
gkm requested review of D90614: [lld-macho][nfc] Refactor to accommodate paired relocs.
Nov 2 2020, 7:51 AM · Restricted Project

Oct 5 2020

gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • move encoding bitfield comments outside their functions
Oct 5 2020, 4:22 PM · Restricted Project
gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • amend according to review feedback
Oct 5 2020, 4:15 PM · Restricted Project
gkm added a comment to D88629: [lld-macho] Add ARM64 target arch.

@smeenai and I agreed that this diff should contain a complete set of tests.

Oct 5 2020, 4:10 PM · Restricted Project
gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • rebase & amend according to review feedback
Oct 5 2020, 2:59 PM · Restricted Project
gkm added inline comments to D88629: [lld-macho] Add ARM64 target arch.
Oct 5 2020, 2:58 PM · Restricted Project

Oct 4 2020

gkm added inline comments to D88629: [lld-macho] Add ARM64 target arch.
Oct 4 2020, 12:50 AM · Restricted Project

Oct 3 2020

gkm added a comment to D88629: [lld-macho] Add ARM64 target arch.

The encodings of adrp, add, stp, ldr, ... are described here:
https://developer.arm.com/documentation/ddi0487/latest/

Oct 3 2020, 1:31 PM · Restricted Project

Oct 2 2020

gkm added inline comments to D88629: [lld-macho] Add ARM64 target arch.
Oct 2 2020, 11:54 PM · Restricted Project
gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • correct some reloc length validity sets in arm64RelocAttrs[]
Oct 2 2020, 5:17 PM · Restricted Project
gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • cleanups
Oct 2 2020, 10:31 AM · Restricted Project

Oct 1 2020

gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • add stubs support
Oct 1 2020, 10:37 PM · Restricted Project

Sep 30 2020

gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • remove some left-over X86_64 code
Sep 30 2020, 8:17 PM · Restricted Project
gkm requested review of D88629: [lld-macho] Add ARM64 target arch.
Sep 30 2020, 7:01 PM · Restricted Project

Sep 24 2020

gkm added a comment to D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.

All devs do incremental builds. Of course incremental builds should work.

I went ahead and fixed this in https://github.com/llvm/llvm-project/commit/0389eff4047a74bb1ba6c0603c9002b5c73b203e

Going forward, please don't leave stuff broken overnight.

Sep 24 2020, 11:08 PM · Restricted Project
gkm accepted D87199: [lld-macho] Implement support for PIC.

Feel free to land when you have the -pie + compact unwind testcase.

Sep 24 2020, 11:04 PM · Restricted Project
gkm added inline comments to D87199: [lld-macho] Implement support for PIC.
Sep 24 2020, 7:28 AM · Restricted Project

Sep 23 2020

gkm added inline comments to D87199: [lld-macho] Implement support for PIC.
Sep 23 2020, 11:25 PM · Restricted Project
gkm added a comment to D87199: [lld-macho] Implement support for PIC.

In lld/MachO/SyntheticSections.cpp, there are three instances of ...

Sep 23 2020, 10:50 PM · Restricted Project
gkm added inline comments to D87199: [lld-macho] Implement support for PIC.
Sep 23 2020, 10:18 PM · Restricted Project
gkm added a comment to D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.

@thakis, the failure only affects incremental build & test. Everything is good on a clean tree. What do you advise now?

Sep 23 2020, 7:03 PM · Restricted Project
gkm added inline comments to D87178: [lld-macho] Emit indirect symbol table.
Sep 23 2020, 6:40 PM · Restricted Project
gkm accepted D86909: [lld-macho] Initial support for common symbols.

Macro llvm-logo: Ship It

Sep 23 2020, 5:44 PM · Restricted Project
gkm accepted D86910: [lld-macho] Implement and test resolution of common symbols.
Sep 23 2020, 5:29 PM · Restricted Project
gkm accepted D87178: [lld-macho] Emit indirect symbol table.

Very nice!

Sep 23 2020, 3:34 PM · Restricted Project
gkm committed rG8f2c31f22b97: [lld-macho] handle options -search_paths_first, -search_dylibs_first (authored by gkm).
[lld-macho] handle options -search_paths_first, -search_dylibs_first
Sep 23 2020, 2:57 PM
gkm closed D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.
Sep 23 2020, 2:57 PM · Restricted Project
gkm committed rGfa5f9452120c: [lld-macho] cleanup unimplemented-option warnings (authored by gkm).
[lld-macho] cleanup unimplemented-option warnings
Sep 23 2020, 2:38 PM
gkm closed D88160: [lld-macho] cleanup unimplemented-option warnings.
Sep 23 2020, 2:38 PM · Restricted Project
gkm updated the summary of D88160: [lld-macho] cleanup unimplemented-option warnings.
Sep 23 2020, 2:31 PM · Restricted Project
gkm accepted D87929: [lld-macho] Support -weak_lx, -weak_library, -weak_framework.
Sep 23 2020, 2:04 PM · Restricted Project
gkm added inline comments to D87929: [lld-macho] Support -weak_lx, -weak_library, -weak_framework.
Sep 23 2020, 9:56 AM · Restricted Project
gkm requested review of D88160: [lld-macho] cleanup unimplemented-option warnings.
Sep 23 2020, 9:29 AM · Restricted Project
gkm added a comment to D87929: [lld-macho] Support -weak_lx, -weak_library, -weak_framework.

Be sure to remove Flags<[HelpHidden]> from ldd/MachO/Options.td for these.

Sep 23 2020, 12:05 AM · Restricted Project

Sep 22 2020

gkm committed rGab903560a466: [lld-maco] fix build breakage (authored by gkm).
[lld-maco] fix build breakage
Sep 22 2020, 8:42 PM
gkm committed rG1a3ef0417c7c: [lld-macho] In the context of relocs, s/target/referent/ for sections & symbols (authored by gkm).
[lld-macho] In the context of relocs, s/target/referent/ for sections & symbols
Sep 22 2020, 8:31 PM
gkm closed D87584: [lld-macho] In the context of relocs, s/target/referent/ for sections & symbols.
Sep 22 2020, 8:31 PM · Restricted Project
gkm added inline comments to D86910: [lld-macho] Implement and test resolution of common symbols.
Sep 22 2020, 7:15 PM · Restricted Project
gkm added inline comments to D87929: [lld-macho] Support -weak_lx, -weak_library, -weak_framework.
Sep 22 2020, 6:05 PM · Restricted Project
gkm added inline comments to D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.
Sep 22 2020, 5:34 PM · Restricted Project
gkm committed rG145ce86dba6e: [lld-macho] handle option -headerpad_max_install_names (authored by gkm).
[lld-macho] handle option -headerpad_max_install_names
Sep 22 2020, 5:26 PM
gkm closed D88064: [lld-macho] handle option -headerpad_max_install_names.
Sep 22 2020, 5:26 PM · Restricted Project
gkm updated the diff for D88064: [lld-macho] handle option -headerpad_max_install_names.
  • Add overview comments to tests
Sep 22 2020, 5:25 PM · Restricted Project
gkm added inline comments to D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.
Sep 22 2020, 2:34 PM · Restricted Project
gkm added a comment to D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.

I only skip 0x when base == 16. My change does nothing to alter the base == 0 case, and GetAutoSenseRadix continues to operate as before.

Sep 22 2020, 1:37 PM · Restricted Project
gkm updated the diff for D88064: [lld-macho] handle option -headerpad_max_install_names.
  • revert unnecessary parens in MachHeaderSection::getSize()
Sep 22 2020, 11:05 AM · Restricted Project
gkm updated the diff for D88064: [lld-macho] handle option -headerpad_max_install_names.
  • Count instances of LCDylib inside constructor rather than at construction sites
  • Elide uninteresting columns from llvm-objdump --all-headers output to reduce length and noise of the lines
  • Add tests for all types of LCDylib: self, load, reexport
  • Add tests for null-effect of -headerpad_max_install_names when no LCDylibs are present
  • Add test for -headerpad N exceeding size of -headerpad_max_install_names
Sep 22 2020, 11:02 AM · Restricted Project
gkm added inline comments to D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.
Sep 22 2020, 10:48 AM · Restricted Project
gkm updated the diff for D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.
  • Fix braino in findLibrary() (consecutive returns: first always shadows second)
  • Refine tests to catch the braino
Sep 22 2020, 10:38 AM · Restricted Project
gkm committed rG703d3f25976c: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16 (authored by gkm).
[lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16
Sep 22 2020, 8:56 AM
gkm closed D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.
Sep 22 2020, 8:56 AM · Restricted Project
gkm updated the diff for D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.
  • add testcase for 0X prefix alongside 0x
  • resequence diff stack so this can land now
Sep 22 2020, 8:56 AM · Restricted Project
gkm updated the diff for D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.
  • check args once and save result in Config::searchDylibsFirst
  • split some long command lines in lld/test/MachO/link-search-order.s
Sep 22 2020, 8:40 AM · Restricted Project