GNU logs - #49935, boring messages


Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#49935: gcc-4.8 fails to build with recent GCC versions
Resent-From: Thiago Jung Bauermann <bauermann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Sat, 07 Aug 2021 23:08:02 +0000
Resent-Message-ID: <handler.49935.B.162837766911042 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 49935
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: 49935 <at> debbugs.gnu.org
X-Debbugs-Original-To: Bug Guix <bug-guix@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.162837766911042
          (code B ref -1); Sat, 07 Aug 2021 23:08:02 +0000
Received: (at submit) by debbugs.gnu.org; 7 Aug 2021 23:07:49 +0000
Received: from localhost ([127.0.0.1]:53307 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mCVPx-0002s1-Dm
	for submit <at> debbugs.gnu.org; Sat, 07 Aug 2021 19:07:49 -0400
Received: from lists.gnu.org ([209.51.188.17]:44430)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bauermann@HIDDEN>) id 1mCVPw-0002rv-Fe
 for submit <at> debbugs.gnu.org; Sat, 07 Aug 2021 19:07:49 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:51562)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bauermann@HIDDEN>)
 id 1mCVPw-0001Tu-Ab
 for bug-guix@HIDDEN; Sat, 07 Aug 2021 19:07:48 -0400
Received: from mx.kolabnow.com ([95.128.36.41]:15360)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bauermann@HIDDEN>)
 id 1mCVPt-0003Fx-G9
 for bug-guix@HIDDEN; Sat, 07 Aug 2021 19:07:47 -0400
Received: from localhost (unknown [127.0.0.1])
 by ext-mx-out002.mykolab.com (Postfix) with ESMTP id D8687109E
 for <bug-guix@HIDDEN>; Sun,  8 Aug 2021 01:07:40 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h=
 content-type:content-type:content-transfer-encoding:mime-version
 :message-id:date:date:subject:subject:from:from:received
 :received:received; s=dkim20160331; t=1628377660; x=1630192061;
 bh=FOeG8KeXC3uLmIB6UEQ27IMspoGxhLcq+jyew3cD7SE=; b=FH5OXcFuMapY
 CjsiQK5IqJgLSfXMAMYPAXnKxnwoAuU+2SExJmWRRYO58iYyaudYb9e8SRazf8D0
 vlHMNK1rKCgiZrcCLosHZqjdQZIlR7yyCYNkIE2+7c8nL9yKLOXwJP+16j1oqFVA
 r7Wd6XzywIzdT5Uw6tpvZZRk5/aefOiHZSNGHGhJktp/B/0mScOO294coKiGY/Df
 v1HHS697qzK2knId6O1iwig8e0RyuFRzbfVSIC9LMRaI+26DWFogaDgmI5wfrA4o
 Dmb4sSvfY7wo+Xz+622LbSYicuyVwTT/g/Ml0rMeJ2ue0xUrwgbBlnhvMQka6JI8
 depmwJzLRWtO26axrl4f/y5X5xSb+C39Ju1sbSOy/znXlbpWiG6mCkP2tI62OL7T
 3adWn+IzDkKxBQEej1AU7C8pq86cmbTHM/UUM2bOfHOzm8Yu0kMiqpqx0moAhuSL
 ZvbzaYyOP8L6ugjdbqlC6LO0qRi+0Sbt0ZnDhsTyYf9gRLllBS0YBNqXjh0ScBM7
 RnqZ0tabLR5U7wHMEnEBagxxO41kOuC7HnTED0mh40TJTFfXNjqjLig/MX9SrCHb
 jnDvKZBzFRumsMyj0SIWKu/med3V6Ouue5uy3+aPgpIA1/prl3SSmizWPX5oOYOz
 /yyvNuZBBLH7jpAEMeIN3PG97XU8Le0=
X-Virus-Scanned: amavisd-new at mykolab.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-10 required=5
 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
Received: from mx.kolabnow.com ([127.0.0.1])
 by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id bxiEmHG3N1lG for <bug-guix@HIDDEN>;
 Sun,  8 Aug 2021 01:07:40 +0200 (CEST)
Received: from int-mx002.mykolab.com (unknown [10.9.13.2])
 by ext-mx-out002.mykolab.com (Postfix) with ESMTPS id 178E9BBA
 for <bug-guix@HIDDEN>; Sun,  8 Aug 2021 01:07:39 +0200 (CEST)
Received: from ext-subm001.mykolab.com (unknown [10.9.6.1])
 by int-mx002.mykolab.com (Postfix) with ESMTPS id 81761493F
 for <bug-guix@HIDDEN>; Sun,  8 Aug 2021 01:07:39 +0200 (CEST)
From: Thiago Jung Bauermann <bauermann@HIDDEN>
Date: Sat, 07 Aug 2021 20:07:32 -0300
Message-ID: <3505131.mCAMElSiHm@popigai>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=95.128.36.41; envelope-from=bauermann@HIDDEN;
 helo=mx.kolabnow.com
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, PDS_BTC_ID=0.197,
 PDS_BTC_MSGID=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -0.9 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.9 (-)

Hello,

According to the CI results, gcc-4.8 hasn=E2=80=99t built successfuly in a =
while:

https://ci.guix.gnu.org/search?query=3Dgcc-4.8

I was able to fix the current build failure:

=2D-8<---------------cut here---------------start------------->8---
In file included from ../../gcc-4.8.5/gcc/cp/except.c:1008:0:
cfns.gperf: In function =E2=80=98const char* libc_name_p(const char*, unsig=
ned int)=E2=80=99:
cfns.gperf:101:1: error: =E2=80=98const char* libc_name_p(const char*, unsi=
gned int)=E2=80=99 redeclared inline with =E2=80=98gnu_inline=E2=80=99 attr=
ibute
cfns.gperf:26:14: note: =E2=80=98const char* libc_name_p(const char*, unsig=
ned int)=E2=80=99 previously declared here
=2D-8<---------------cut here---------------end--------------->8---

by backporting a patch from GCC 4.9 (which I will send in the next email),
but then I hit another failure:

=2D-8<---------------cut here---------------start------------->8---
In file included from /tmp/guix-build-gcc-4.8.5.drv-0/build/powerpc64le-unk=
nown-linux-gnu/libstdc++-v3/include/cstdlib:72:0,
                 from ../../../../gcc-4.8.5/libstdc++-v3/libsupc++/del_op.c=
c:38:
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:38:12: error: =E2=80=98std::abort=E2=80=99 has not been declared
 using std::abort;
            ^
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:39:12: error: =E2=80=98std::atexit=E2=80=99 has not been declared
 using std::atexit;
            ^
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:40:12: error: =E2=80=98std::exit=E2=80=99 has not been declared
 using std::exit;
            ^
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:51:12: error: =E2=80=98std::div_t=E2=80=99 has not been declared
 using std::div_t;
            ^
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:52:12: error: =E2=80=98std::ldiv_t=E2=80=99 has not been declared
 using std::ldiv_t;
            ^
    =E2=8B=AE
=2D-8<---------------cut here---------------end--------------->8---

and so on, for several `std::` functions. Unlike the other old GCC build
failures I=E2=80=99ve investigated recently, I couldn=E2=80=99t find anyone=
 else hitting
this specific problem. So we would have to create our own patch to fix it.

This message from Jakub Jelinek about a similar error in some unspecified
package:

https://lists.fedoraproject.org/archives/list/devel@HIDDEN=
/message/Q2U4JFUB5RL7DU2XJZ4BDTRE4PVULOMG/

makes me think that there=E2=80=99s something in GCC 4.8=E2=80=99s libstdc+=
+ (probably
in libsupc++) doing something wrong with <stdlib.h> which trips GCC 6
and later.

However, I don=E2=80=99t think it=E2=80=99s worth making GCC 4.8 build agai=
n. It=E2=80=99s not
supported upstream anymore and if it=E2=80=99s needed in some bootstrap pat=
h,
it=E2=80=99s better to move it to =E2=80=98(gnu packages commencement)=E2=
=80=99 instead. In that
case, instead of fixing this build issue it=E2=80=99s likely better to just=
 build
it with a GCC older than version 6.

Is it needed for bootstrap though? The definition of =E2=80=98%bootstrap-gc=
c=E2=80=99
suggests that it=E2=80=99s needed at least for armhf-linux but since aarch6=
4-linux,
powerpc64le-linux and even i586-hurd use GCC 5.5, I suspect it would also
work for armhf-linux as well.

Therefore, my suggestion is to simply remove gcc-4.8.

=2D-=20
Thanks,
Thiago







Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Thiago Jung Bauermann <bauermann@HIDDEN>
Subject: bug#49935: Acknowledgement (gcc-4.8 fails to build with recent
 GCC versions)
Message-ID: <handler.49935.B.162837766911042.ack <at> debbugs.gnu.org>
References: <3505131.mCAMElSiHm@popigai>
X-Gnu-PR-Message: ack 49935
X-Gnu-PR-Package: guix
Reply-To: 49935 <at> debbugs.gnu.org
Date: Sat, 07 Aug 2021 23:08:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-guix@HIDDEN

If you wish to submit further information on this problem, please
send it to 49935 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
49935: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D49935
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#49935: [PATCH] gnu: gcc-4.8: Fix build with GCC 6 and later
References: <3505131.mCAMElSiHm@popigai>
In-Reply-To: <3505131.mCAMElSiHm@popigai>
Resent-From: Thiago Jung Bauermann <bauermann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Sat, 07 Aug 2021 23:24:02 +0000
Resent-Message-ID: <handler.49935.B49935.162837861012562 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49935
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: 49935 <at> debbugs.gnu.org
Cc: Thiago Jung Bauermann <bauermann@HIDDEN>
Received: via spool by 49935-submit <at> debbugs.gnu.org id=B49935.162837861012562
          (code B ref 49935); Sat, 07 Aug 2021 23:24:02 +0000
Received: (at 49935) by debbugs.gnu.org; 7 Aug 2021 23:23:30 +0000
Received: from localhost ([127.0.0.1]:53328 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mCVf4-0003GV-F4
	for submit <at> debbugs.gnu.org; Sat, 07 Aug 2021 19:23:29 -0400
Received: from mx.kolabnow.com ([95.128.36.40]:59828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bauermann@HIDDEN>) id 1mCVez-0003GC-QT
 for 49935 <at> debbugs.gnu.org; Sat, 07 Aug 2021 19:23:25 -0400
Received: from localhost (unknown [127.0.0.1])
 by ext-mx-out003.mykolab.com (Postfix) with ESMTP id 955D640AE3
 for <49935 <at> debbugs.gnu.org>; Sun,  8 Aug 2021 01:23:15 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h=
 content-transfer-encoding:mime-version:message-id:date:date
 :subject:subject:from:from:received:received:received; s=
 dkim20160331; t=1628378594; x=1630192995; bh=hLCmqWAkG6qu1zKyl9k
 YtHiF+dsv1OYhSm02/4Zhx2w=; b=5aKgEYGp3FgRlHl0f/jlwIXxLph8o86AUx8
 dwOvztVGo288prJPkaQ+VUOFMnRvYPLfxZimLaKxFTmP3ZGqwK6/BrLkwUQAbYG8
 SQdtPpdVYaUgt6B4/DrMpIjFSsDEX0G2pn5mzwKiSY9K88LNtM6RpUL2+YyKmGyS
 ihoe2MyGrsFdpevKIh6q/FgCMI7YSAVgjC7P2TTO5+9DOifYpdRqTGFZ6qz8T3tz
 Lj0i8cwycC1gH4XW27SWyjdWuBI38mv015DXneZ0Q230+nAyWXaibbXNsqF9B8k0
 gUOC0lWhkYlpULKz79s1CjfVW4KaDLEqP07NrVAMyvjySQycvfP56HlAbiZunYbS
 IXHC/vzyL548vUAPgByilv8BoASG0umJIUIm7rZlT6fklj6ApUMg8YGq0I8iXf8S
 0HkFJeouVQvGRLaDUK2aZJ/pFhGCJCHSvc34M5AVQH6VyNzzPVPUoi0rkSj5ZiDI
 o7lVF5vJlgceH82TdKW2LYSLT+kNqPthkrJgRGZFnXTHDEsr3lYzt8vP6c2yXz9M
 KGbkTqZZQoaaRHfBOTiJr9FBL3lT3+C7GpK8aMJz/rXMZELp4YBKy4ZZ6L+zbUQE
 mX/phImjcAjVQeni4s3VnkhXjA1sr6TjiHgZU/CY5XNZi4vLP2WJRjjVkTEjNO9r
 3OGhL2as=
X-Virus-Scanned: amavisd-new at mykolab.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-10 required=5
 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
Received: from mx.kolabnow.com ([127.0.0.1])
 by localhost (ext-mx-out003.mykolab.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id G-smV5mUe8JA for <49935 <at> debbugs.gnu.org>;
 Sun,  8 Aug 2021 01:23:14 +0200 (CEST)
Received: from int-mx002.mykolab.com (unknown [10.9.13.2])
 by ext-mx-out003.mykolab.com (Postfix) with ESMTPS id 86A0E4084C
 for <49935 <at> debbugs.gnu.org>; Sun,  8 Aug 2021 01:23:14 +0200 (CEST)
Received: from ext-subm003.mykolab.com (unknown [10.9.6.3])
 by int-mx002.mykolab.com (Postfix) with ESMTPS id 171214951;
 Sun,  8 Aug 2021 01:23:14 +0200 (CEST)
From: Thiago Jung Bauermann <bauermann@HIDDEN>
Date: Sat,  7 Aug 2021 20:23:00 -0300
Message-Id: <20210807232300.1074458-1-bauermann@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Versions of GCC earlier than 6 need this change in order to be built by GCC
6 and later. At the time, the fix was backported to GCC 4.9 and GCC 5 but
not GCC 4.8.

Therefore, backport the fix from GCC 4.9 to GCC 4.8.

* gnu/packages/gcc.scm (gcc-4.8)[source]: Apply
gcc-4.8-fix-build-with-newer-gcc.patch.
* gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add new file.
---

Hi,

This is the patch I mentioned in my previous email. Despite the subject
and the name of the patch file, this change is necessary but unfortunately
not sufficient to make GCC 4.8 build with GCC 6 or later.

This patch solves the same problem as gcc-4-compile-with-gcc-5.patch and
gcc-4.6-gnu-inline.patch (which are actually the exact same patch).

Regards,
Thiago

 gnu/local.mk                                  |   1 +
 gnu/packages/gcc.scm                          |   4 +-
 .../gcc-4.8-fix-build-with-newer-gcc.patch    | 181 ++++++++++++++++++
 3 files changed, 185 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 61ac39618a73..663f48f1833c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1059,6 +1059,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gcc-cross-environment-variables.patch	\
   %D%/packages/patches/gcc-fix-texi2pod.patch			\
   %D%/packages/patches/gcc-4.8-libsanitizer-fix.patch		\
+  %D%/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch	\
   %D%/packages/patches/gcc-4.9-libsanitizer-fix.patch		\
   %D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch		\
   %D%/packages/patches/gcc-libsanitizer-ustat.patch		\
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 2fe30b13210e..586673042a1c 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -383,7 +383,9 @@ Go.  It also includes runtime support libraries for these languages.")
               (patches (search-patches "gcc-arm-link-spec-fix.patch"
                                        "gcc-4.8-libsanitizer-fix.patch"
                                        "gcc-asan-missing-include.patch"
-                                       "gcc-fix-texi2pod.patch"))
+                                       "gcc-fix-texi2pod.patch"
+                                       ;; See https://gcc.gnu.org/legacy-ml/gcc-patches/2016-02/msg01409.html
+                                       "gcc-4.8-fix-build-with-newer-gcc.patch"))
               (modules '((guix build utils)))
               ;; This is required for building with glibc-2.26.
               ;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
diff --git a/gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch b/gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch
new file mode 100644
index 000000000000..e2fe2af03d08
--- /dev/null
+++ b/gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch
@@ -0,0 +1,181 @@
+From 4c212bc2507fc8ab8caba7c5afc1257707572c45 Mon Sep 17 00:00:00 2001
+From: Bernd Edlinger <bernd.edlinger@HIDDEN>
+Date: Thu, 25 Feb 2016 15:36:41 +0000
+Subject: [PATCH] backport: Make-lang.in: Invoke gperf with -L C++.
+
+2016-02-25  Bernd Edlinger  <bernd.edlinger@HIDDEN>
+
+        Backported from mainline
+        2016-02-19  Jakub Jelinek  <jakub@HIDDEN>
+                    Bernd Edlinger  <bernd.edlinger@HIDDEN>
+
+        * Make-lang.in: Invoke gperf with -L C++.
+        * cfns.gperf: Remove prototypes for hash and libc_name_p
+        inlines.
+        * cfns.h: Regenerated.
+        * except.c (nothrow_libfn_p): Adjust.
+
+From-SVN: r233721
+---
+
+Obtained from:
+
+https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=4c212bc2507fc8ab8caba7c5afc1257707572c45
+
+The gcc/cp/ChangeLog hunk was modified to apply on top of gcc-4.8's gcc/cp/ChangeLog.
+
+ gcc/cp/ChangeLog    | 12 ++++++++++++
+ gcc/cp/Make-lang.in |  2 +-
+ gcc/cp/cfns.gperf   | 10 ++--------
+ gcc/cp/cfns.h       | 41 ++++++++++++++---------------------------
+ gcc/cp/except.c     |  3 ++-
+ 5 files changed, 31 insertions(+), 37 deletions(-)
+
+diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
+index 02776465da7..8d014bef83c 100644
+--- a/gcc/cp/ChangeLog
++++ b/gcc/cp/ChangeLog
+@@ -1,3 +1,15 @@
++2016-02-25  Bernd Edlinger  <bernd.edlinger@HIDDEN>
++
++	Backported from mainline
++	2016-02-19  Jakub Jelinek  <jakub@HIDDEN>
++		    Bernd Edlinger  <bernd.edlinger@HIDDEN>
++
++	* Make-lang.in: Invoke gperf with -L C++.
++	* cfns.gperf: Remove prototypes for hash and libc_name_p
++	inlines.
++	* cfns.h: Regenerated.
++	* except.c (nothrow_libfn_p): Adjust.
++
+ 2015-06-23  Release Manager
+ 
+ 	* GCC 4.8.5 released.
+diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
+index bd1c1d78f88..a0ea0d48359 100644
+--- a/gcc/cp/Make-lang.in
++++ b/gcc/cp/Make-lang.in
+@@ -111,7 +111,7 @@ else
+ # deleting the $(srcdir)/cp/cfns.h file.
+ $(srcdir)/cp/cfns.h:
+ endif
+-	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
++	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \
+ 		$(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h
+ 
+ #
+diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf
+index 05ca753927e..d9b16b800ef 100644
+--- a/gcc/cp/cfns.gperf
++++ b/gcc/cp/cfns.gperf
+@@ -1,3 +1,5 @@
++%language=C++
++%define class-name libc_name
+ %{
+ /* Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ 
+@@ -16,14 +18,6 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3.  If not see
+ <http://www.gnu.org/licenses/>.  */
+-#ifdef __GNUC__
+-__inline
+-#endif
+-static unsigned int hash (const char *, unsigned int);
+-#ifdef __GNUC__
+-__inline
+-#endif
+-const char * libc_name_p (const char *, unsigned int);
+ %}
+ %%
+ # The standard C library functions, for feeding to gperf; the result is used
+diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h
+index c845ddf08ea..65801d1ae31 100644
+--- a/gcc/cp/cfns.h
++++ b/gcc/cp/cfns.h
+@@ -1,5 +1,5 @@
+-/* ANSI-C code produced by gperf version 3.0.3 */
+-/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf  */
++/* C++ code produced by gperf version 3.0.4 */
++/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf  */
+ 
+ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+       && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+@@ -28,7 +28,7 @@
+ #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@HIDDEN>."
+ #endif
+ 
+-#line 1 "cfns.gperf"
++#line 3 "cfns.gperf"
+ 
+ /* Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ 
+@@ -47,25 +47,18 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3.  If not see
+ <http://www.gnu.org/licenses/>.  */
+-#ifdef __GNUC__
+-__inline
+-#endif
+-static unsigned int hash (const char *, unsigned int);
+-#ifdef __GNUC__
+-__inline
+-#endif
+-const char * libc_name_p (const char *, unsigned int);
+ /* maximum key range = 391, duplicates = 0 */
+ 
+-#ifdef __GNUC__
+-__inline
+-#else
+-#ifdef __cplusplus
+-inline
+-#endif
+-#endif
+-static unsigned int
+-hash (register const char *str, register unsigned int len)
++class libc_name
++{
++private:
++  static inline unsigned int hash (const char *str, unsigned int len);
++public:
++  static const char *libc_name_p (const char *str, unsigned int len);
++};
++
++inline unsigned int
++libc_name::hash (register const char *str, register unsigned int len)
+ {
+   static const unsigned short asso_values[] =
+     {
+@@ -122,14 +115,8 @@ hash (register const char *str, register unsigned int len)
+   return hval + asso_values[(unsigned char)str[len - 1]];
+ }
+ 
+-#ifdef __GNUC__
+-__inline
+-#ifdef __GNUC_STDC_INLINE__
+-__attribute__ ((__gnu_inline__))
+-#endif
+-#endif
+ const char *
+-libc_name_p (register const char *str, register unsigned int len)
++libc_name::libc_name_p (register const char *str, register unsigned int len)
+ {
+   enum
+     {
+diff --git a/gcc/cp/except.c b/gcc/cp/except.c
+index 221971ac956..32340f5ae83 100644
+--- a/gcc/cp/except.c
++++ b/gcc/cp/except.c
+@@ -1030,7 +1030,8 @@ nothrow_libfn_p (const_tree fn)
+      unless the system headers are playing rename tricks, and if
+      they are, we don't want to be confused by them.  */
+   id = DECL_NAME (fn);
+-  return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));
++  return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id),
++				   IDENTIFIER_LENGTH (id));
+ }
+ 
+ /* Returns nonzero if an exception of type FROM will be caught by a
+-- 
+2.27.0
+




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#49935: gcc-4.8 fails to build with recent GCC versions
Resent-From: Thomas Schwinge <thomas@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Fri, 19 Jan 2024 08:40:02 +0000
Resent-Message-ID: <handler.49935.B49935.170565359414736 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49935
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Thiago Jung Bauermann <bauermann@HIDDEN>, 49935 <at> debbugs.gnu.org
Received: via spool by 49935-submit <at> debbugs.gnu.org id=B49935.170565359414736
          (code B ref 49935); Fri, 19 Jan 2024 08:40:02 +0000
Received: (at 49935) by debbugs.gnu.org; 19 Jan 2024 08:39:54 +0000
Received: from localhost ([127.0.0.1]:57452 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rQkPp-0003pV-Rn
	for submit <at> debbugs.gnu.org; Fri, 19 Jan 2024 03:39:54 -0500
Received: from smtprelay03.ispgateway.de ([80.67.31.30]:56883)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <outgoing@HIDDEN>) id 1rQkJk-0003ey-88
 for 49935 <at> debbugs.gnu.org; Fri, 19 Jan 2024 03:33:37 -0500
Received: from [93.210.55.122] (helo=euler.schwinge.homeip.net)
 by smtprelay03.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.97.1)
 (envelope-from <outgoing@HIDDEN>) id 1rQkJf-000000004i4-3vo6;
 Fri, 19 Jan 2024 09:33:32 +0100
Received: (nullmailer pid 725983 invoked by uid 1000);
 Fri, 19 Jan 2024 08:33:30 -0000
From: Thomas Schwinge <thomas@HIDDEN>
In-Reply-To: <3505131.mCAMElSiHm@popigai>
References: <3505131.mCAMElSiHm@popigai>
User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/28.2
 (x86_64-pc-linux-gnu)
Date: Fri, 19 Jan 2024 09:33:28 +0100
Message-ID: <87mst1en8n.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Df-Sender: b3V0Z29pbmdAc2Nod2luZ2UubmFtZQ==
X-Spam-Score: -0.0 (/)
X-Mailman-Approved-At: Fri, 19 Jan 2024 03:39:50 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On 2021-08-07T20:07:32-0300, Thiago Jung Bauermann via Bug reports for GNU =
Guix <bug-guix@HIDDEN> wrote:
> In file included from /tmp/guix-build-gcc-4.8.5.drv-0/build/powerpc64le-u=
nknown-linux-gnu/libstdc++-v3/include/cstdlib:72:0,
>                  from ../../../../gcc-4.8.5/libstdc++-v3/libsupc++/del_op=
.cc:38:
> /gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib=
.h:38:12: error: =E2=80=98std::abort=E2=80=99 has not been declared
>  using std::abort;
>             ^
> /gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib=
.h:39:12: error: =E2=80=98std::atexit=E2=80=99 has not been declared
>  using std::atexit;
>             ^
> [...]

This looks similar to <https://issues.guix.gnu.org/41209>
"AVR toolchain fails to build", fixed by
commit fd96ae4a709c5509f2d78af3968d64fe805ad1ef
"gnu: avr-gcc: Fix conflicting GCC headers", or
<https://issues.guix.gnu.org/41210>
"gcc-cross-sans-libc-arm-none-eabi-4.9.4-1.227977 fails to build", fixed
by commit 7f6d3f395023ff430cf8b7a981d4780698e9d132
"gnu: gcc-arm-none-eabi: Fix conflicting GCC headers".





Last modified: Sat, 20 Jan 2024 12:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.