[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: gnu: gcc: Add '-lgcc_s' only when '-pthread' is given.
From: |
Mark H. Weaver |
Subject: |
01/02: gnu: gcc: Add '-lgcc_s' only when '-pthread' is given. |
Date: |
Wed, 07 Jan 2015 00:49:45 +0000 |
mhw pushed a commit to branch core-updates
in repository guix.
commit 9097e666d48c9b6c0263dcbe60b5af69ff7689f4
Author: Mark H Weaver <address@hidden>
Date: Thu Jan 1 22:53:55 2015 -0500
gnu: gcc: Add '-lgcc_s' only when '-pthread' is given.
Suggested by Ludovic Courtès <address@hidden>.
* gnu/packages/gcc.scm (gcc-4.7): In our modified GNU_USER_TARGET_LIB_SPEC,
add '-lgcc_s' only when '-pthread' is given.
---
gnu/packages/gcc.scm | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index a510af4..df16119 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <address@hidden>
+;;; Copyright © 2015 Mark H Weaver <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -201,14 +202,15 @@ where the OS part is overloaded to denote a specific
ABI---into GCC
(substitute* (find-files "gcc/config"
"^gnu-user.*\\.h$")
(("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix)
- ;; Help libgcc_s.so be found (see also below.) Always use
- ;; '-lgcc_s' so that libgcc_s.so is always found by those
- ;; programs that use 'pthread_cancel' (glibc dlopens
- ;; libgcc_s.so when pthread_cancel support is needed, but
- ;; having it in the application's RUNPATH isn't enough; see
+ ;; Help libgcc_s.so be found (see also below.) When
+ ;; -pthread is given, use '-lgcc_s' so that libgcc_s.so is
+ ;; always found by those programs that use 'pthread_cancel'
+ ;; (glibc dlopens libgcc_s.so when pthread_cancel support
+ ;; is needed, but having it in the application's RUNPATH
+ ;; isn't enough; see
;;
<http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
(format #f "#define GNU_USER_TARGET_LIB_SPEC \
-\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64
-rpath=~a/lib -lgcc_s}} \" ~a"
+\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64
-rpath=~a/lib %{pthread:-lgcc_s}}} \" ~a"
libc libc libdir libdir suffix))
(("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
(format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"