[PATCH] Preliminary support for dynamically loadable coff objects

Andy Ayers andya at microsoft.com
Sat Feb 28 17:12:17 PST 2015


Add a rtdyld test case for coff object files.

Rework the x86_64 relocation processing so that it can pass the rtdyld's verification and check tests. In particular be more careful about Address vs ObjAddress vs LoadedAddress.

Implement REL32 forms of relocations. Add a test case showing that the dynamic linker does the proper update for the basic REL32 relocation. Streamline the relocation processing to remove the second of a matching set of switches.

Stub out ADDR32NB until we understand how the dynamic linker is going to provide an image base and constrain sections to be within a 4GB region.

Fix some issues where the dynamic linker was confused by zero sized sections (we now claim they don't need to be loaded for COFF) or was too eager to look at .bss.


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D7793

Files:
  lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt
  lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
  lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp
  lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.h
  lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h
  lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
  lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.cpp
  lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
  lib/Object/COFFObjectFile.cpp
  test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7793.20945.patch
Type: text/x-patch
Size: 22089 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150301/9618145d/attachment.bin>


More information about the llvm-commits mailing list