[arch-general] Default dtags in Arch
Nicola Mori
nicolamori at aol.com
Thu Mar 11 16:03:56 UTC 2021
I'm tracking down an inconsistent behavior of my application when
compiled under different distributions. It seems that under Arch the
-Wl,-rpath, linker flag will set an RPATH into the library, while under
Ubuntu 20.04 and 18.04 the same flag results in a RUNPATH being set. So
it seems to me that the linker have different defaults on the two
distributions, maybe set at linker compilation time; is this
reasonable/correct? Also, since RUNPATH seems to be the modern and more
secure way (see e.g. here:
https://wiki.archlinux.org/index.php/Arch_package_guidelines/Security#RPATH/RUNPATH)
I am wondering if there is a specific reason why RPATH is still the
default on Arch and if there are plans to move to RUNPATH.
To further elaborate on this, if I'm correct the trend on Linux is
towards RUNPATH, i.e. giving precedence to library folders specified by
an environment variable (LD_LIBRARY_PATH) over those hard-coded in the
binaries. Then on macOS it seems to be the opposite, namely deprecating
DYLD_LIBRARY_PATH in favor of DYLD_FALLBACK_LIBRARY_PATH to give
precedence to rpath. Both approaches are motivated by the potential
security issues with the other approach, and all seems to depend on
which security hole (a malicious environment variable or write access to
library folders encoded in rpaths) is perceived as more important...
Thanks in advance for any clarification,
Nicola
More information about the arch-general
mailing list