Page MenuHomePhabricator

gkm (Greg McGary)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 13 2020, 11:31 AM (27 w, 6 d)

Recent Activity

Today

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

Yesterday

gkm added inline comments to D87199: [lld-macho] Implement support for PIC.
Wed, Sep 23, 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 ...

Wed, Sep 23, 10:50 PM · Restricted Project
gkm added inline comments to D87199: [lld-macho] Implement support for PIC.
Wed, Sep 23, 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?

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

Macro llvm-logo: Ship It

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

Very nice!

Wed, Sep 23, 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
Wed, Sep 23, 2:57 PM
gkm closed D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.
Wed, Sep 23, 2:57 PM · Restricted Project
gkm committed rGfa5f9452120c: [lld-macho] cleanup unimplemented-option warnings (authored by gkm).
[lld-macho] cleanup unimplemented-option warnings
Wed, Sep 23, 2:38 PM
gkm closed D88160: [lld-macho] cleanup unimplemented-option warnings.
Wed, Sep 23, 2:38 PM · Restricted Project
gkm updated the summary of D88160: [lld-macho] cleanup unimplemented-option warnings.
Wed, Sep 23, 2:31 PM · Restricted Project
gkm accepted D87929: [lld-macho] Support -weak_lx, -weak_library, -weak_framework.
Wed, Sep 23, 2:04 PM · Restricted Project
gkm added inline comments to D87929: [lld-macho] Support -weak_lx, -weak_library, -weak_framework.
Wed, Sep 23, 9:56 AM · Restricted Project
gkm requested review of D88160: [lld-macho] cleanup unimplemented-option warnings.
Wed, Sep 23, 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.

Wed, Sep 23, 12:05 AM · Restricted Project

Tue, Sep 22

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

Tue, Sep 22, 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()
Tue, Sep 22, 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
Tue, Sep 22, 11:02 AM · Restricted Project
gkm added inline comments to D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.
Tue, Sep 22, 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
Tue, Sep 22, 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
Tue, Sep 22, 8:56 AM
gkm closed D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.
Tue, Sep 22, 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
Tue, Sep 22, 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
Tue, Sep 22, 8:40 AM · Restricted Project
gkm committed rG7afbf3192dc5: [lld-macho] minimally handle option -dynamic (authored by gkm).
[lld-macho] minimally handle option -dynamic
Tue, Sep 22, 8:05 AM
gkm closed D88045: [lld-macho] minimally handle option -dynamic.
Tue, Sep 22, 8:05 AM · Restricted Project

Mon, Sep 21

gkm added inline comments to D88064: [lld-macho] handle option -headerpad_max_install_names.
Mon, Sep 21, 8:44 PM · Restricted Project
gkm updated the diff for D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.
  • add a test case
Mon, Sep 21, 7:34 PM · Restricted Project
gkm added a comment to D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.

I just added the rational to the diff summary.

Mon, Sep 21, 7:29 PM · Restricted Project
gkm updated the summary of D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.
Mon, Sep 21, 7:24 PM · Restricted Project
gkm updated the summary of D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.
Mon, Sep 21, 7:22 PM · Restricted Project
gkm updated the diff for D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.
  • s/auto/opt::Arg/
Mon, Sep 21, 7:18 PM · Restricted Project
gkm updated the diff for D88045: [lld-macho] minimally handle option -dynamic.
  • s/auto/opt::Arg/
Mon, Sep 21, 7:14 PM · Restricted Project
gkm requested review of D88065: [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16.
Mon, Sep 21, 7:06 PM · Restricted Project
gkm requested review of D88064: [lld-macho] handle option -headerpad_max_install_names.
Mon, Sep 21, 7:01 PM · Restricted Project
gkm requested review of D88054: [lld-macho] handle options -search_paths_first, -search_dylibs_first.
Mon, Sep 21, 4:10 PM · Restricted Project
gkm requested review of D88045: [lld-macho] minimally handle option -dynamic.
Mon, Sep 21, 2:11 PM · Restricted Project

Sat, Sep 19

gkm committed rGcba45514fb42: align __TEXT,__unwind_info to 8 byte boundary (authored by gkm).
align __TEXT,__unwind_info to 8 byte boundary
Sat, Sep 19, 12:44 PM

Fri, Sep 18

gkm committed rG2124ca1d5cb6: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind (authored by gkm).
[lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind
Fri, Sep 18, 10:02 PM
gkm closed D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Fri, Sep 18, 10:02 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • Remove redundant change to lld/MachO/OutputSegment.cpp
Fri, Sep 18, 8:48 PM · Restricted Project
gkm removed a reviewer for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind: Restricted Project.
Fri, Sep 18, 8:33 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • Final round of cleanups & review-feedback integration
Fri, Sep 18, 8:32 PM · Restricted Project
gkm added inline comments to D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Fri, Sep 18, 8:07 PM · Restricted Project

Thu, Sep 17

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • add UNWIND_INFO_COMMON_ENCODINGS_MAX
  • revise, expand & prune comments
  • improve variable names for CU entry folding
Thu, Sep 17, 3:36 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • clean-up some ugly special cases by excluding __LD from outputSegments
Thu, Sep 17, 2:59 PM · Restricted Project
gkm added inline comments to D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Thu, Sep 17, 2:56 PM · Restricted Project

Sat, Sep 12

gkm updated the summary of D87584: [lld-macho] In the context of relocs, s/target/referent/ for sections & symbols.
Sat, Sep 12, 11:44 PM · Restricted Project
gkm added a reviewer for D87584: [lld-macho] In the context of relocs, s/target/referent/ for sections & symbols: Restricted Project.
Sat, Sep 12, 11:43 PM · Restricted Project
gkm requested review of D87584: [lld-macho] In the context of relocs, s/target/referent/ for sections & symbols.
Sat, Sep 12, 11:42 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • Folding adjacent CU entries requires a vector with monotonically increasing functionAddress, and to get that we must first apply std::sort().
  • Abandon passing pageBreak 2nd compare arg via lambda-capture, because it is a fragile technique. It is only by an accident of the implementation that it works on std::lower_bound. It does not work for std::upper_bound, std::binary_search, or std::equal_range.
Sat, Sep 12, 7:07 PM · Restricted Project

Fri, Sep 11

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • finalize LD,compact_unwind before relocating
Fri, Sep 11, 1:52 PM · Restricted Project

Wed, Sep 9

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • follow review feedback
Wed, Sep 9, 6:23 PM · Restricted Project
gkm added inline comments to D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Wed, Sep 9, 5:58 PM · Restricted Project
gkm added inline comments to D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Wed, Sep 9, 5:55 PM · Restricted Project

Sat, Sep 5

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • use %python prefix in test file
  • minor cleanups
Sat, Sep 5, 5:32 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.

Do the work in finalize() member rather than getSize() const. Drop mutable from data members. Ahhh! So much nicer!

Sat, Sep 5, 12:19 PM · Restricted Project

Wed, Sep 2

gkm updated the summary of D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Wed, Sep 2, 10:01 PM · Restricted Project
gkm committed rGf434f7dabc16: Add code owners of new MachO port (authored by gkm).
Add code owners of new MachO port
Wed, Sep 2, 8:03 PM
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.

lld/MachO/UnwindInfo.cpp:

  • Remove redundant unwind_info_section_header_lsda_entry, and use existing unwind_info_section_header_lsda_index_entry instead.
  • Don't cache UnwindInfoSection::isNeeded() result since it is only called once.

lld/test/MachO/tools/generate-cfi-funcs.py:

  • Permute the register save set in order to generate a larger variety of encodings.
  • Align generated functions at larger boundary so it works for testing ld64 also.

lld/test/MachO/tools/validate-unwind-info.py

  • Expand the object-file encoding regexp to capture optional personality+lsda
Wed, Sep 2, 3:18 PM · Restricted Project
gkm added inline comments to D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Wed, Sep 2, 12:05 AM · Restricted Project

Tue, Sep 1

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.

Improvements & cleanups to validate-unwind-info.py:

  • accept input from multiple files or stdin
  • fail if any expected categories of input are absent
Tue, Sep 1, 6:14 PM · Restricted Project

Mon, Aug 31

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.

Improvements & cleanups to generate-cfi-funcs.py:

  • add --functions=N arg
  • move some comments into doc strings
Mon, Aug 31, 7:13 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • Revise the arg signature for the comparison lambda for std::lower_bound() to emphasize that the 2nd pointer argument is ignored. Rather, we pass the comparand via lambda capture.
Mon, Aug 31, 11:23 AM · Restricted Project

Sun, Aug 30

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • Correction in lld/MachO/UnwindInfo.h: s/LLD_MACHO_COMPACT_UNWIND_H/LLD_MACHO_UNWIND_INFO_H/
  • Move some constant definitions that belong in libunwind/include/mach-o/compact_unwind_encoding.h
Sun, Aug 30, 4:16 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.

Cleanups:

  • s/totalCuEntries/cuCount/
  • constify all CompactUnwindEntry64*
  • simplify level-1 index sentinel address calculation
Sun, Aug 30, 3:16 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • pass functionAddressMax via lambda capture rather than via constructed cuEntry
  • heed clang-tidy's advice
Sun, Aug 30, 2:44 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • s/std::max/std::min/
  • Revert to simple llvm-lit test format, since bash is unnecessary
Sun, Aug 30, 2:21 PM · Restricted Project
gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • Rework pageBounds as a simple vector rather than a vector of pairs, and expand associated comments
Sun, Aug 30, 12:55 PM · Restricted Project

Sat, Aug 29

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.

Update according to Jez's simple review-feedback items - i.e., everything except the hackiness surrounding __LD,__compact_unwind's anomalies as a MergedOutputSection.

Sat, Aug 29, 11:23 PM · Restricted Project
gkm added inline comments to D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Sat, Aug 29, 1:48 AM · Restricted Project

Fri, Aug 28

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • Relocate some macro definitions into libunwind/include/mach-o/compact_unwind_encoding.h
  • Decouple target word size from the host word size for the compact unwind entry structs
Fri, Aug 28, 5:42 PM · Restricted Project
gkm updated the summary of D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Fri, Aug 28, 12:54 PM · Restricted Project
gkm requested review of D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Fri, Aug 28, 12:43 PM · Restricted Project

Aug 14 2020

gkm updated the diff for D85594: [MachO] Add skeletal support for DriverKit platform.

supplement TODO comment

Aug 14 2020, 12:05 PM · Restricted Project

Aug 13 2020

gkm added inline comments to D85594: [MachO] Add skeletal support for DriverKit platform.
Aug 13 2020, 10:13 PM · Restricted Project
gkm added inline comments to D85594: [MachO] Add skeletal support for DriverKit platform.
Aug 13 2020, 6:27 PM · Restricted Project
gkm updated the diff for D85594: [MachO] Add skeletal support for DriverKit platform.

add unittest for new symbol PlatformKind::driverKit

Aug 13 2020, 6:25 PM · Restricted Project
gkm updated the diff for D85594: [MachO] Add skeletal support for DriverKit platform.

rebase

Aug 13 2020, 11:45 AM · Restricted Project
gkm updated the diff for D85786: [lld-macho] Emit load command LC_BUILD_VERSION.

rebase

Aug 13 2020, 11:40 AM · Restricted Project

Aug 11 2020

gkm updated the diff for D85786: [lld-macho] Emit load command LC_BUILD_VERSION.

Tighten testcase by imposing sequencing on expected lines

Aug 11 2020, 6:52 PM · Restricted Project
gkm updated the diff for D85786: [lld-macho] Emit load command LC_BUILD_VERSION.

correct some omissions

Aug 11 2020, 6:47 PM · Restricted Project
gkm updated the diff for D85786: [lld-macho] Emit load command LC_BUILD_VERSION.

Add const qualifier to reference arg

Aug 11 2020, 6:37 PM · Restricted Project
gkm updated the diff for D85786: [lld-macho] Emit load command LC_BUILD_VERSION.

Remove spurious change to lld/MachO/CompactUnwind.cpp

Aug 11 2020, 4:33 PM · Restricted Project
gkm updated the diff for D85786: [lld-macho] Emit load command LC_BUILD_VERSION.

add testcase & respond to review feedback

Aug 11 2020, 3:19 PM · Restricted Project
gkm planned changes to D85786: [lld-macho] Emit load command LC_BUILD_VERSION.
Aug 11 2020, 2:32 PM · Restricted Project
gkm added a comment to D85786: [lld-macho] Emit load command LC_BUILD_VERSION.

@int3, For tests cases, I did the simple fix of adjusting addresses to accommodate the expansion of the load-command section. Should I expend the effort to generalize via patterns in order to quietly absorb future load-command expansions?

Aug 11 2020, 2:31 PM · Restricted Project