summaryrefslogtreecommitdiff
path: root/gnu/packages/ld-wrapper.in
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-06-14 01:00:27 +0200
committerLudovic Courtès <ludo@gnu.org>2015-06-14 01:00:27 +0200
commitb5616bc33d43f9507ffb8ac87d1e2158752c42c3 (patch)
treee44c2a4bf4f9c5d1cad9960b8d8a132ee831505d /gnu/packages/ld-wrapper.in
parent16cae799dbddc621026c230d058e0317db0a1b95 (diff)
ld-wrapper: Ignore .so files specified after "-plugin" for RUNPATH purposes.
Reported by Mark H Weaver at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20102#58>. * gnu/packages/ld-wrapper.in (library-files-linked): Handle "-plugin" similarly to "-dynamic-linker".
Diffstat (limited to 'gnu/packages/ld-wrapper.in')
-rw-r--r--gnu/packages/ld-wrapper.in12
1 files changed, 8 insertions, 4 deletions
diff --git a/gnu/packages/ld-wrapper.in b/gnu/packages/ld-wrapper.in
index db662e7d76..c3d6fa1005 100644
--- a/gnu/packages/ld-wrapper.in
+++ b/gnu/packages/ld-wrapper.in
@@ -143,12 +143,16 @@ exec @GUILE@ -c "(load-compiled \"@SELF@.go\") (apply $main (cdr (command-line))
(define path+files+args
(fold (lambda (argument result)
(match result
- ((library-path library-files ("-dynamic-linker" . rest))
- ;; When passed '-dynamic-linker ld.so', ignore 'ld.so'.
- ;; See <http://bugs.gnu.org/20102>.
+ ((library-path library-files
+ ((and flag
+ (or "-dynamic-linker" "-plugin"))
+ . rest))
+ ;; When passed '-dynamic-linker ld.so', ignore 'ld.so'; when
+ ;; passed '-plugin liblto_plugin.so', ignore
+ ;; 'liblto_plugin.so'. See <http://bugs.gnu.org/20102>.
(list library-path
library-files
- (cons* argument "-dynamic-linker" rest)))
+ (cons* argument flag rest)))
((library-path library-files previous-args)
(cond ((string-prefix? "-L" argument) ;augment the search path
(list (append library-path