summary refs log tree commit diff
path: root/distro
diff options
context:
space:
mode:
Diffstat (limited to 'distro')
-rw-r--r--distro/packages/base.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index 195f870676..16a22eb38f 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -400,8 +400,11 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
                  (substitute* (find-files "gcc/config"
                                           "^(gnu-user(64)?|linux-elf)\\.h$")
                    (("#define LIB_SPEC (.*)$" _ suffix)
-                    (format #f "#define LIB_SPEC \"-L~a/lib -rpath=~a/lib \
--rpath=~a/lib64 -rpath=~a/lib \" ~a~%"
+                    ;; Note that with this "lib" spec, we may still add a
+                    ;; RUNPATH to GCC even when `libgcc_s' is not NEEDED.
+                    ;; There's not much that can be done to avoid it, though.
+                    (format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \
+%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a~%"
                             libc libc out out suffix))
                    (("#define STARTFILE_SPEC.*$" line)
                     (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"