cling/test/DynamicLibraryManager
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
..
cached_realpath.C Ask for the real path in any case. 2021-08-07 09:29:07 +02:00
call_lib_A.c Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
call_lib_AA.c Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
call_lib_B.c Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
call_lib_BB.c Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
call_lib_L3.c Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
call_lib_L_AB.c Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
call_lib_L.c Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
call_lib.c Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
call_pie.c Do not resolve symbols from executables compiled with -fPIE. 2022-01-07 16:29:03 +01:00
call.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_A.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_AA.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_B.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_BB.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L3_rpath.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L3_runpath.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_abs.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_ldlibpath.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_loc.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_order1.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_order.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_path1.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_path2.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_path.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_rpath2.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_rpath.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_runpath2.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_runpath.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_subst1.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_subst2.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_subst3.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_subst4.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L_AB_subst.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib_L.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
callable_lib.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
library_path.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
load_L_AB.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
load.C Fix ROOT-10484 by implementing dyld support for RPATH. 2021-08-07 09:29:07 +02:00
pie.C Do not resolve symbols from executables compiled with -fPIE. 2022-01-07 16:29:03 +01:00