forked from scylladb/scylladb
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
relocatable: switch from run-time relocation to install-time relocation
Our current relocation works by invoking the dynamic linker with the executable as an argument. This confuses gdb since the kernel records the dynamic linker as the executable, not the real executable. Switch to install-time relocation with patchelf: when installing the executable and libraries, all paths are known, and we can update the path to the dynamic loader and to the dynamic libraries. Since patchelf itself is dynamically linked, we have to relocate it dynamically (with the old method of invoking it via the dynamic linker). This is okay since it's a one-time operation and since we don't expect to debug core dumps of patchelf crashes. We lose the ability to run scylla directly from the uninstalled tarball, but since the nonroot installer is already moving in the direction of requiring install.sh, that is not a great loss, and certainly the ability to debug is more important. Fixes scylladb#4673.
- Loading branch information
Showing
2 changed files
with
29 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters