Repository: lucy Updated Branches: refs/heads/0.6 4eb33a717 -> 5c61bd4ec
Cherry-pick Charmonizer rpath fix Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/5c61bd4e Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/5c61bd4e Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/5c61bd4e Branch: refs/heads/0.6 Commit: 5c61bd4ec5aa7defef7b63e5e5aac526f6877db1 Parents: 4eb33a7 Author: Nick Wellnhofer <wellnho...@aevum.de> Authored: Mon Feb 19 15:07:05 2018 +0100 Committer: Nick Wellnhofer <wellnho...@aevum.de> Committed: Mon Feb 19 15:07:05 2018 +0100 ---------------------------------------------------------------------- common/charmonizer.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/5c61bd4e/common/charmonizer.c ---------------------------------------------------------------------- diff --git a/common/charmonizer.c b/common/charmonizer.c index 0108c12..999c4aa 100644 --- a/common/charmonizer.c +++ b/common/charmonizer.c @@ -2039,7 +2039,15 @@ chaz_CFlags_add_rpath(chaz_CFlags *flags, const char *path) { if (chaz_CC_binary_format() != CHAZ_CC_BINFMT_ELF) { return; } if (flags->style == CHAZ_CFLAGS_STYLE_GNU) { - string = chaz_Util_join("", "-Wl,-rpath,", path, NULL); + /* If "new dtags" are enabled by default, DT_RUNPATH is set instead of + * DT_RPATH. Unfortunately, DT_RUNPATH is not applied transitively + * when searching for indirect dependencies. See + * + * https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1253638 + * https://sourceware.org/bugzilla/show_bug.cgi?id=13945 + */ + string = chaz_Util_join("", "-Wl,--disable-new-dtags -Wl,-rpath,", + path, NULL); } else if (flags->style == CHAZ_CFLAGS_STYLE_SUN_C) { string = chaz_Util_join(" ", "-R", path, NULL);