Page MenuHomePhabricator
Feed Advanced Search

Mon, Oct 5

gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • move encoding bitfield comments outside their functions
Mon, Oct 5, 4:22 PM · Restricted Project
gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • amend according to review feedback
Mon, Oct 5, 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.

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

Sun, Oct 4

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

Sat, Oct 3

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/

Sat, Oct 3, 1:31 PM · Restricted Project

Fri, Oct 2

gkm added inline comments to D88629: [lld-macho] Add ARM64 target arch.
Fri, Oct 2, 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[]
Fri, Oct 2, 5:17 PM · Restricted Project
gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • cleanups
Fri, Oct 2, 10:31 AM · Restricted Project

Thu, Oct 1

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

Wed, Sep 30

gkm updated the diff for D88629: [lld-macho] Add ARM64 target arch.
  • remove some left-over X86_64 code
Wed, Sep 30, 8:17 PM · Restricted Project
gkm requested review of D88629: [lld-macho] Add ARM64 target arch.
Wed, Sep 30, 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
gkm committed rG7afbf3192dc5: [lld-macho] minimally handle option -dynamic (authored by gkm).
[lld-macho] minimally handle option -dynamic
Sep 22 2020, 8:05 AM
gkm closed D88045: [lld-macho] minimally handle option -dynamic.
Sep 22 2020, 8:05 AM · Restricted Project

Sep 21 2020

gkm added inline comments to D88064: [lld-macho] handle option -headerpad_max_install_names.
Sep 21 2020, 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
Sep 21 2020, 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 rationale to the diff summary.

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

Sep 19 2020

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

Sep 18 2020

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
Sep 18 2020, 10:02 PM
gkm closed D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Sep 18 2020, 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
Sep 18 2020, 8:48 PM · Restricted Project
gkm removed a reviewer for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind: Restricted Project.
Sep 18 2020, 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
Sep 18 2020, 8:32 PM · Restricted Project
gkm added inline comments to D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Sep 18 2020, 8:07 PM · Restricted Project

Sep 17 2020

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
Sep 17 2020, 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
Sep 17 2020, 2:59 PM · Restricted Project
gkm added inline comments to D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Sep 17 2020, 2:56 PM · Restricted Project

Sep 12 2020

gkm updated the summary of D87584: [lld-macho] In the context of relocs, s/target/referent/ for sections & symbols.
Sep 12 2020, 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.
Sep 12 2020, 11:43 PM · Restricted Project
gkm requested review of D87584: [lld-macho] In the context of relocs, s/target/referent/ for sections & symbols.
Sep 12 2020, 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.
Sep 12 2020, 7:07 PM · Restricted Project

Sep 11 2020

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

Sep 9 2020

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

Sep 5 2020

gkm updated the diff for D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
  • use %python prefix in test file
  • minor cleanups
Sep 5 2020, 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!

Sep 5 2020, 12:19 PM · Restricted Project

Sep 2 2020

gkm updated the summary of D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Sep 2 2020, 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
Sep 2 2020, 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
Sep 2 2020, 3:18 PM · Restricted Project
gkm added inline comments to D86805: [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind.
Sep 2 2020, 12:05 AM · Restricted Project

Sep 1 2020

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
Sep 1 2020, 6:14 PM · Restricted Project

Aug 31 2020

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
Aug 31 2020, 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.
Aug 31 2020, 11:23 AM · Restricted Project

Aug 30 2020

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
Aug 30 2020, 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
Aug 30 2020, 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
Aug 30 2020, 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
Aug 30 2020, 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
Aug 30 2020, 12:55 PM · Restricted Project

Aug 29 2020

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.

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

Aug 28 2020

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
Aug 28 2020, 5:42 PM · Restricted Project