[all-commits] [llvm/llvm-project] aed571: [RuntimeDyld] Allow multi-line rtdyld-check and ji...

lhames via All-commits all-commits at lists.llvm.org
Tue Mar 10 16:15:58 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: aed5712522031074281835fb100a7a6508ae45ed
      https://github.com/llvm/llvm-project/commit/aed5712522031074281835fb100a7a6508ae45ed
  Author: Lang Hames <lhames at gmail.com>
  Date:   2020-03-10 (Tue, 10 Mar 2020)

  Changed paths:
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp

  Log Message:
  -----------
  [RuntimeDyld] Allow multi-line rtdyld-check and jitlink-check expressions.

This patch allows rtdyld-check / jitlink-check expressions to be extended over
multiple lines by terminating each line with a '\'. E.g.

  # llvm-rtdyld: *{8}X = \
  # llvm-rtdyld:   Y
  X:
    .quad Y

This will be used to break up some long lines in upcoming test cases.


  Commit: 337e131ca7de48072def7729df69434c37a66eb7
      https://github.com/llvm/llvm-project/commit/337e131ca7de48072def7729df69434c37a66eb7
  Author: Lang Hames <lhames at gmail.com>
  Date:   2020-03-10 (Tue, 10 Mar 2020)

  Changed paths:
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.h
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
    M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h
    M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFI386.h
    M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h
    M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
    M llvm/test/ExecutionEngine/RuntimeDyld/ARM/COFF_Thumb.s
    M llvm/test/ExecutionEngine/RuntimeDyld/X86/COFF_i386.s
    M llvm/test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s

  Log Message:
  -----------
  [RuntimeDyld][COFF] Build stubs for COFF dllimport symbols.

Summary:
Enables JIT-linking by RuntimeDyld of COFF objects that contain references to
dllimport symbols. This is done by recognizing symbols that start with the
reserved "__imp_" prefix and building a pointer entry to the target symbol in
the stubs area of the section. References to the "__imp_" symbol are updated to
point to this pointer.

Work in progress: The generic code is in place, but only RuntimeDyldCOFFX86_64
and RuntimeDyldCOFFI386 have been updated to look for and update references to
dllimport symbols.

Reviewers: compnerd

Subscribers: hiraditya, ributzka, llvm-commits

Tags: #llvm

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


Compare: https://github.com/llvm/llvm-project/compare/edd0dfca0dbd...337e131ca7de


More information about the All-commits mailing list