[all-commits] [llvm/llvm-project] db995d: [JITLink][COFF] Initial COFF support.

Sunho Kim via All-commits all-commits at lists.llvm.org
Tue Jul 12 11:54:14 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: db995d72db14e58a3a81b0c2668bf788a61cc131
      https://github.com/llvm/llvm-project/commit/db995d72db14e58a3a81b0c2668bf788a61cc131
  Author: Sunho Kim <ksunhokim123 at gmail.com>
  Date:   2022-07-13 (Wed, 13 Jul 2022)

  Changed paths:
    A llvm/include/llvm/ExecutionEngine/JITLink/COFF.h
    A llvm/include/llvm/ExecutionEngine/JITLink/COFF_x86_64.h
    M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
    A llvm/lib/ExecutionEngine/JITLink/COFF.cpp
    A llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    A llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
    A llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_abs.s
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_basic.s
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_comdat_any.test
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_comdat_associative.test
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_comdat_exact_match.test
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_comdat_largest.test
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_comdat_noduplicate.test
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_comdat_same_size.test
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_comdat_weak.s
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_common_symbol.s
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_external_func.s
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_external_var.s
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_file_debug.s
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_static_var.s
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_weak_external.s
    A llvm/test/ExecutionEngine/JITLink/X86/COFF_x86-64_small_pic_relocations.s
    M llvm/tools/llvm-jitlink/CMakeLists.txt
    A llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  [JITLink][COFF] Initial COFF support.

Adds initial COFF support in JITLink. This is able to run a hello world c program in x86 windows successfully.

Implemented
- COFF object loader
- Static local symbols
- Absolute symbols
- External symbols
- Weak external symbols
- Common symbols
- COFF jitlink-check support
- All COMDAT selection type execpt largest
- Implicit symobl size calculation
- Rel32 relocation with PLT stub.
- IMAGE_REL_AMD64_ADDR32NB relocation

Reviewed By: lhames

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




More information about the All-commits mailing list