[all-commits] [llvm/llvm-project] c53a13: [lld-macho] Implement -dependency_info (partially ...

Vy Nguyen via All-commits all-commits at lists.llvm.org
Sun Mar 21 11:36:13 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c53a1322f329e29446c7625da423f58f09ec1a55
      https://github.com/llvm/llvm-project/commit/c53a1322f329e29446c7625da423f58f09ec1a55
  Author: Vy Nguyen <vyng at google.com>
  Date:   2021-03-21 (Sun, 21 Mar 2021)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/Driver.h
    M lld/MachO/DriverUtils.cpp
    M lld/MachO/Options.td
    A lld/test/MachO/Inputs/DependencyDump.py
    A lld/test/MachO/dependency-info.s

  Log Message:
  -----------
  [lld-macho] Implement -dependency_info (partially - more opcodes needed)

Bug: https://bugs.llvm.org/show_bug.cgi?id=49278
The flag is not well documented, so this implementation is based on observed behaviour.

When specified, `-dependency_info <path>` produced a text file containing information pertaining to the current linkage, such as input files, output file, linker version, etc.

This file's layout is also not documented, but it seems to be a series of null ('\0') terminated strings in the form `<op code><path>`

`<op code>` could be:
   `0x00` : linker version
   `0x10` : input
   `0x11` : files not found(??)
   `0x40` : output

`<path>` : is the file path, except for the linker-version case.

(??) This part is a bit unclear. I think it means all the files the linker attempted to look at, but could not find.

Differential Revision: https://reviews.llvm.org/D98559




More information about the All-commits mailing list