[all-commits] [llvm/llvm-project] 0a7e56: [lld-macho] Mark weak symbols in symbol table

Jez Ng via All-commits all-commits at lists.llvm.org
Sun Sep 20 20:44:00 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 0a7e56f74c2adde9a4bc2c1163e7ed3aff984584
      https://github.com/llvm/llvm-project/commit/0a7e56f74c2adde9a4bc2c1163e7ed3aff984584
  Author: Jez Ng <jezng at fb.com>
  Date:   2020-09-20 (Sun, 20 Sep 2020)

  Changed paths:
    M lld/MachO/SyntheticSections.cpp
    M lld/test/MachO/symtab.s

  Log Message:
  -----------
  [lld-macho] Mark weak symbols in symbol table

Reviewed By: #lld-macho, smeenai

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


  Commit: abd70fb3983f342bc1c90f9c70a7b59790ad5206
      https://github.com/llvm/llvm-project/commit/abd70fb3983f342bc1c90f9c70a7b59790ad5206
  Author: Jez Ng <jezng at fb.com>
  Date:   2020-09-20 (Sun, 20 Sep 2020)

  Changed paths:
    M lld/MachO/ExportTrie.cpp
    M lld/MachO/ExportTrie.h
    M lld/MachO/SyntheticSections.cpp
    M lld/test/MachO/export-trie.s

  Log Message:
  -----------
  [lld-macho] Export trie addresses should be relative to the image base

We didn't notice this earlier this we were only testing the export trie
encoded in a dylib, whose image base starts at zero. But a regular
executable contains `__PAGEZERO`, which means it has a non-zero image
base. This bug was discovered after attempting to run some programs that
performed `dlopen` on an executable.

Reviewed By: #lld-macho, smeenai

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


Compare: https://github.com/llvm/llvm-project/compare/0cd73dbe2c0d...abd70fb3983f


More information about the All-commits mailing list