gnu: gcc: Do not always disable RUNPATH validation.
authorLudovic Courtès <ludo@gnu.org>
Wed, 22 Apr 2015 22:01:59 +0000 (00:01 +0200)
committerLudovic Courtès <ludo@gnu.org>
Wed, 22 Apr 2015 22:06:37 +0000 (00:06 +0200)
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Remove explicit
  #:validate-runpath? #f.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Remove case for
  #:validate-runpath?.
  (gcc-final)[arguments]: Add literal #:validate-runpath? #f.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Remove case for
  #:validate-runpath?.

gnu/packages/commencement.scm
gnu/packages/cross-base.scm
gnu/packages/gcc.scm

index 351ef3e..6552409 100644 (file)
                    (srfi srfi-1)
                    (srfi srfi-26))
         ,@(substitute-keyword-arguments (package-arguments gcc-4.8)
-            ((#:validate-runpath? _)
-             #t)
             ((#:configure-flags flags)
              `(append (list ,(string-append "--target=" (boot-triplet))
 
@@ -540,6 +538,11 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
 
        #:allowed-references ("out" "lib" ,glibc-final)
 
+       ;; Things like libasan.so and libstdc++.so NEED ld.so for some
+       ;; reason, but it is not in their RUNPATH.  This is a false
+       ;; positive, so turn it off.
+       #:validate-runpath? #f
+
        ;; Build again GMP & co. within GCC's build process, because it's hard
        ;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus
        ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
@@ -564,11 +567,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
                                              "/lib")
                               flag))
                         ,flags)))
-           ((#:validate-runpath? _)
-            ;; Things like libasan.so and libstdc++.so NEED ld.so and/or
-            ;; libgcc_s.so but RUNPATH is empty.  This is a false positive, so
-            ;; turn it off.
-            #f)
            ((#:phases phases)
             `(alist-delete 'symlink-libgcc_eh ,phases)))))
 
index 01cfdf7..9a45940 100644 (file)
@@ -175,8 +175,6 @@ may be either a libc package or #f.)"
                      #t)))
                ,phases)
              phases)))
-      ((#:validate-runpath? _)
-       #t)
       ((#:strip-binaries? _)
        ;; Disable stripping as this can break binaries, with object files of
        ;; libgcc.a showing up as having an unknown architecture.  See
index 442ea98..ca85073 100644 (file)
@@ -190,10 +190,6 @@ where the OS part is overloaded to denote a specific ABI---into GCC
 
          #:tests? #f
 
-         ;; libstdc++.so NEEDs libgcc_s.so but somehow it doesn't get
-         ;; $(libdir) in its RUNPATH, so turn it off.
-         #:validate-runpath? #f
-
          #:phases
          (alist-cons-before
           'configure 'pre-configure