[all-commits] [llvm/llvm-project] 0a74ec: [JITLink] Start laying the groundwork for ELF x86-...

lhames via All-commits all-commits at lists.llvm.org
Sun Mar 21 21:03:47 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0a74ec3299de83fe220c246ff5aa8f90d3364071
      https://github.com/llvm/llvm-project/commit/0a74ec3299de83fe220c246ff5aa8f90d3364071
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-03-21 (Sun, 21 Mar 2021)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    R llvm/lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
    A llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
    A llvm/lib/ExecutionEngine/JITLink/PerGraphGOTAndPLTStubsBuilder.h

  Log Message:
  -----------
  [JITLink] Start laying the groundwork for ELF x86-64 large code model support.

Introduces DefineExternalSectionStartAndEndSymbols.h, which defines a template
for a JITLink pass that transforms external symbols meeting a user-supplied
predicate into defined symbols pointing at the start and end of a Section
identified by the predicate. JITLink.h is updated with a new makeAbsolute
function to support this pass.

Also renames BasicGOTAndStubsBuilder to PerGraphGOTAndPLTStubsBuilder -- the new
name better describes the intent of this GOT and PLT stubs builder, and will
help to distinguish it from future GOT and PLT stub builders that build entries
that may be shared between multiple graphs.




More information about the All-commits mailing list