1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/tools/llvm-jitlink
Lang Hames 6ca1bd0130 [llvm-jitlink] Add -harness option to llvm-jitlink.
The -harness option enables new testing use-cases for llvm-jitlink. It takes a
list of objects to treat as a test harness for any regular objects passed to
llvm-jitlink.

If any files are passed using the -harness option then the following
transformations are applied to all other files:

  (1) Symbols definitions that are referenced by the harness files are promoted
      to default scope. (This enables access to statics from test harness).

  (2) Symbols definitions that clash with definitions in the harness files are
      deleted. (This enables interposition by test harness).

  (3) All other definitions in regular files are demoted to local scope.
      (This causes untested code to be dead stripped, reducing memory cost and
      eliminating spurious unresolved symbol errors from untested code).

These transformations allow the harness files to reference and interpose
symbols in the regular object files, which can be used to support execution
tests (including fuzz tests) of functions in relocatable objects produced by a
build.
2020-07-30 15:26:19 -07:00
..
CMakeLists.txt [JITLink] Improve llvm-jitlink regression testing support for ELF. 2020-05-28 20:31:50 -07:00
llvm-jitlink-elf.cpp [llvm-jitlink] Add suppport for testing GOT entries and stubs for ELF. 2020-07-17 17:55:30 -07:00
llvm-jitlink-macho.cpp [llvm-jitlink] Add suppport for testing GOT entries and stubs for ELF. 2020-07-17 17:55:30 -07:00
llvm-jitlink.cpp [llvm-jitlink] Add -harness option to llvm-jitlink. 2020-07-30 15:26:19 -07:00
llvm-jitlink.h [llvm-jitlink] Add -harness option to llvm-jitlink. 2020-07-30 15:26:19 -07:00
LLVMBuild.txt