From d485ebba428cc4125b6b9fd282507eda3f860cfe Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 23 Apr 2015 00:01:59 +0200 Subject: 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?. --- gnu/packages/commencement.scm | 12 +++++------- gnu/packages/cross-base.scm | 2 -- gnu/packages/gcc.scm | 4 ---- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 351ef3e2c4..65524091a9 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -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))))) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 01cfdf73e8..9a459400e8 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -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 diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 442ea9874e..ca85073ea4 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -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 -- cgit v1.2.3