mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-11 13:49:23 -05:00
gnu: gcc: Disable RUNPATH validation for native builds.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Pass #:validate-runpath? #f. * gnu/packages/commencement.scm (gcc-boot0)[arguments]: Override #:validate-runpath? with 'substitute-keyword-arguments'. (gcc-final)[arguments]: Likewise. * gnu/packages/cross-base.scm (cross-gcc-arguments): Likewise.
This commit is contained in:
parent
71b6716814
commit
dfc8bb2071
3 changed files with 14 additions and 5 deletions
|
@ -158,6 +158,8 @@ (define gcc-boot0
|
|||
(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))
|
||||
|
||||
|
@ -500,11 +502,6 @@ (define-public gcc-final
|
|||
|
||||
#:allowed-references ("out" "lib" ,glibc-final)
|
||||
|
||||
;; 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.
|
||||
#: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'.)
|
||||
|
@ -529,6 +526,11 @@ (define-public gcc-final
|
|||
"/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)))))
|
||||
|
||||
|
|
|
@ -175,6 +175,8 @@ (define (cross? x)
|
|||
#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
|
||||
|
|
|
@ -189,6 +189,11 @@ (define-public gcc-4.7
|
|||
,(if stripped? "-g0" "-g")))))
|
||||
|
||||
#: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
|
||||
|
|
Loading…
Reference in a new issue