[all-commits] [llvm/llvm-project] 0c69f9: [ORC][COFF] Introduce DLLImportDefinitionGenerator.

Sunho Kim via All-commits all-commits at lists.llvm.org
Mon Aug 15 10:07:13 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0c69f9f32c83002006a91639a950d9fd70f1b1bb
      https://github.com/llvm/llvm-project/commit/0c69f9f32c83002006a91639a950d9fd70f1b1bb
  Author: Sunho Kim <ksunhokim123 at gmail.com>
  Date:   2022-08-16 (Tue, 16 Aug 2022)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp

  Log Message:
  -----------
  [ORC][COFF] Introduce DLLImportDefinitionGenerator.

This class will be used to properly solve the `__imp_` symbol and jump-thunk generation issues. It is assumed to be the last definition generator to be called, and as it's the last generator the only symbols remaining in the lookup set are the symbols that are supposed to be queried outside this jitdylib. Instead of just letting them through, we issue another lookup invocation and fetch the allocated addresses, and then create jitlink graph containing `__imp_` GOT symbols and jump-thunks targetting the fetched addresses.

Reviewed By: lhames

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




More information about the All-commits mailing list