all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#40009] [core-updates PATCH]: Use per-architecture GCC for libstdc++-boot0
@ 2020-03-10 11:12 Efraim Flashner
  2020-03-10 19:21 ` Marius Bakke
  0 siblings, 1 reply; 3+ messages in thread
From: Efraim Flashner @ 2020-03-10 11:12 UTC (permalink / raw)
  To: 40009


[-- Attachment #1.1: Type: text/plain, Size: 358 bytes --]

I've tested this on aarch64 and there were no problems. It also
provides a nice framework for other architectures as they become
supported.


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #1.2: 0001-gnu-libstdc-boot0-Use-per-architecture-gcc-versions.patch --]
[-- Type: text/plain, Size: 2014 bytes --]

From 4506c48da7df4397d459337988adbdd54c0d440d Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Thu, 13 Feb 2020 10:47:34 +0200
Subject: [PATCH 1/2] gnu: libstdc++-boot0: Use per-architecture gcc versions.

* gnu/packages/commencement.scm (libstdc++-boot0): Use a version of gcc
more closely tied to their bootstrap process.
---
 gnu/packages/commencement.scm | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 2a0a83ad49..b5cb08a19a 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
@@ -1427,9 +1427,12 @@ exec " gcc "/bin/" program
 (define libstdc++-boot0
   ;; GCC's libcc1 is always built as a shared library (the top-level
   ;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to refer
-  ;; to libstdc++.so.  We cannot build libstdc++-5.3 because it relies on
-  ;; C++14 features missing in some of our bootstrap compilers.
-  (let ((lib (make-libstdc++ gcc-4.9)))
+  ;; to libstdc++.so.  We therefore use a version of GCC which most closely
+  ;; matches the bootstrap compiler of that architecture.
+  (let ((lib (make-libstdc++
+               (match (%current-system)
+                 ("aarch64-linux" gcc-5)
+                 (_ gcc-4.9)))))
     (package
       (inherit lib)
       (source (bootstrap-origin (package-source lib)))
-- 
2.25.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#40009] [core-updates PATCH]: Use per-architecture GCC for libstdc++-boot0
  2020-03-10 11:12 [bug#40009] [core-updates PATCH]: Use per-architecture GCC for libstdc++-boot0 Efraim Flashner
@ 2020-03-10 19:21 ` Marius Bakke
  2020-03-11  6:51   ` bug#40009: " Efraim Flashner
  0 siblings, 1 reply; 3+ messages in thread
From: Marius Bakke @ 2020-03-10 19:21 UTC (permalink / raw)
  To: Efraim Flashner, 40009

[-- Attachment #1: Type: text/plain, Size: 526 bytes --]

Efraim Flashner <efraim@flashner.co.il> writes:

> I've tested this on aarch64 and there were no problems. It also
> provides a nice framework for other architectures as they become
> supported.

What is the benefit of this patch?  I'd prefer to keep libstdc++-boot0
identical across architectures for simplicity, unless there is a good
reason to do otherwise (say, porting to a new architecture).

Now we could end up in a situation where someone patches GCC5 on
'master' and accidentally triggers a full rebuild on AArch64.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#40009: [core-updates PATCH]: Use per-architecture GCC for libstdc++-boot0
  2020-03-10 19:21 ` Marius Bakke
@ 2020-03-11  6:51   ` Efraim Flashner
  0 siblings, 0 replies; 3+ messages in thread
From: Efraim Flashner @ 2020-03-11  6:51 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 40009-done

[-- Attachment #1: Type: text/plain, Size: 954 bytes --]

On Tue, Mar 10, 2020 at 08:21:08PM +0100, Marius Bakke wrote:
> Efraim Flashner <efraim@flashner.co.il> writes:
> 
> > I've tested this on aarch64 and there were no problems. It also
> > provides a nice framework for other architectures as they become
> > supported.
> 
> What is the benefit of this patch?  I'd prefer to keep libstdc++-boot0
> identical across architectures for simplicity, unless there is a good
> reason to do otherwise (say, porting to a new architecture).
> 
> Now we could end up in a situation where someone patches GCC5 on
> 'master' and accidentally triggers a full rebuild on AArch64.

Sound reasoning. And currently most of the porting work makes use of
GCC7 and not GCC5. I'm closing this bug.


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-11  6:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-10 11:12 [bug#40009] [core-updates PATCH]: Use per-architecture GCC for libstdc++-boot0 Efraim Flashner
2020-03-10 19:21 ` Marius Bakke
2020-03-11  6:51   ` bug#40009: " Efraim Flashner

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.