cling/test
Vassil Vassilev 4fa39ba82f Do not resolve symbols from executables compiled with -fPIE.
Executables that are compiled with fPIE means they are compiled in a position
independent manner and are almost indistinguishable from the shared objects. A
reasonably reliable way to find if this was a `pie executable` is to check the
`DF_1_PIE` in the dynamic section of ELF.

The pseudo-code is:
```
if DT_FLAGS_1 dynamic section entry is present
  if DF_1_PIE is set in DT_FLAGS_1:
    print pie executable
  else
    print shared object
```

See https://stackoverflow.com/questions/34519521/why-does-gcc-create-a-shared-object-instead-of-an-executable-binary-according-to/34522357#34522357

Fixes root-project/root#7366

Patch by Alexander Penev (@alexander-penev)
2022-01-07 16:29:03 +01:00
..
Autoloading Remove fwddecl files; RUN: often fails. 2020-08-12 09:14:07 +02:00
CodeGeneration Fixed CUDA mode for Clang/LLVM 9 upgrade 2021-02-25 20:44:19 +01:00
CodeUnloading Help test find its parts: 2021-03-16 09:59:03 +01:00
CUDADeviceCode Fixed CUDA mode for Clang/LLVM 9 upgrade 2021-02-25 20:44:19 +01:00
Driver Fixed CUDA mode for Clang/LLVM 9 upgrade 2021-02-25 20:44:19 +01:00
DynamicLibraryManager Do not resolve symbols from executables compiled with -fPIE. 2022-01-07 16:29:03 +01:00
ErrorRecovery Get rid of extra-complex built_cling: 2021-02-25 20:44:18 +01:00
Extensions Get rid of extra-complex built_cling: 2021-02-25 20:44:18 +01:00
Interfaces Get rid of extra-complex built_cling: 2021-02-25 20:44:18 +01:00
LibraryCall Use the dyld to show more meaningful message when a symbol is missing. 2021-05-08 20:59:07 +02:00
Lookup In failed lookup, unload only decls produced, not existing fwd decl: 2021-03-18 19:59:03 +01:00
MultipleInterpreters Add cling output streams to cling/Utils/Output.h 2016-12-19 13:59:11 +01:00
NullDeref Remove .rawInput from a variety of tests to test unwrapped function input. 2016-09-05 12:44:13 +02:00
Plugins Allow plugins to handle custom pragmas. 2018-10-08 21:44:55 +02:00
Pragmas Fix expected diags in test/Pragmas/load.C: 2021-03-16 09:59:03 +01:00
Prompt InputValidator::validate(): add test against ROOT-9202 2021-09-08 19:14:06 +02:00
Recursion Reset function sections before JITting 2021-02-10 15:18:14 +01:00
SourceCall Remove .rawInput from a variety of tests to test unwrapped function input. 2016-09-05 12:44:13 +02:00
Utils Get rid of extra-complex built_cling: 2021-02-25 20:44:18 +01:00
CMakeLists.txt Import updated lit config: 2021-02-25 20:44:18 +01:00
lit.cfg Bring vanilla-cling lit feature back: 2021-03-16 09:59:04 +01:00
lit.site.cfg.in Import updated lit config: 2021-02-25 20:44:18 +01:00