~ruther/guix-local

d485ebba428cc4125b6b9fd282507eda3f860cfe — Ludovic Courtès 11 years ago 21e583d
gnu: gcc: Do not always disable RUNPATH validation.

* 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?.
3 files changed, 5 insertions(+), 13 deletions(-)

M gnu/packages/commencement.scm
M gnu/packages/cross-base.scm
M gnu/packages/gcc.scm
M gnu/packages/commencement.scm => gnu/packages/commencement.scm +5 -7
@@ 158,8 158,6 @@
                   (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)))))


M gnu/packages/cross-base.scm => gnu/packages/cross-base.scm +0 -2
@@ 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

M gnu/packages/gcc.scm => gnu/packages/gcc.scm +0 -4
@@ 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