From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@gnu.org>
Newsgroups: gmane.lisp.guile.bugs
Subject: bug#60234: Build failure on mac os 12.6 / gcc 12.2
Date: Wed, 18 Jan 2023 23:16:41 +0100
Message-ID: <87k01h8tqd.fsf@gnu.org>
References: <5404ACA9-05C6-4349-9736-3185914D8A0F@sarc.name>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
	logging-data="1570"; mail-complaints-to="usenet@ciao.gmane.io"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Cc: 60234@debbugs.gnu.org
To: lloda <lloda@sarc.name>
Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Fri Jan 20 10:02:24 2023
Return-path: <bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org>
Envelope-to: guile-bugs@m.gmane-mx.org
Original-Received: from lists.gnu.org ([209.51.188.17])
	by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
	(Exim 4.92)
	(envelope-from <bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org>)
	id 1pInI0-0000Em-4q
	for guile-bugs@m.gmane-mx.org; Fri, 20 Jan 2023 10:02:24 +0100
Original-Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <bug-guile-bounces@gnu.org>)
	id 1pInHk-0007hK-Kx; Fri, 20 Jan 2023 04:02:10 -0500
Original-Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1pInHe-0007gV-3J
 for bug-guile@gnu.org; Fri, 20 Jan 2023 04:02:02 -0500
Original-Received: from debbugs.gnu.org ([209.51.188.43])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1pInHd-0004GA-RT
 for bug-guile@gnu.org; Fri, 20 Jan 2023 04:02:01 -0500
Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1pInHd-0007Iz-Lw
 for bug-guile@gnu.org; Fri, 20 Jan 2023 04:02:01 -0500
X-Loop: help-debbugs@gnu.org
Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@gnu.org>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: bug-guile@gnu.org
Resent-Date: Fri, 20 Jan 2023 09:02:01 +0000
Resent-Message-ID: <handler.60234.B60234.167420531628069@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 60234
X-GNU-PR-Package: guile
Original-Received: via spool by 60234-submit@debbugs.gnu.org id=B60234.167420531628069
 (code B ref 60234); Fri, 20 Jan 2023 09:02:01 +0000
Original-Received: (at 60234) by debbugs.gnu.org; 20 Jan 2023 09:01:56 +0000
Original-Received: from localhost ([127.0.0.1]:45548 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1pInHY-0007If-Cd
 for submit@debbugs.gnu.org; Fri, 20 Jan 2023 04:01:56 -0500
Original-Received: from eggs.gnu.org ([209.51.188.92]:38528)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@gnu.org>) id 1pInHW-0007IS-0W
 for 60234@debbugs.gnu.org; Fri, 20 Jan 2023 04:01:54 -0500
Original-Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludo@gnu.org>)
 id 1pInHQ-00049j-IO; Fri, 20 Jan 2023 04:01:48 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:References:Date:In-Reply-To:Subject:To:
 From; bh=H0HMo3pNrmbYW8GhsIjZY6rpnvuYA1KBQZuKzRGzNTQ=; b=rf7AoVr5Wy2RSsDdhjWw
 AIc98UUMSgoooqD4JirX054n4ITi3tqR2cQgM/8cQsxhU/Pj8mSZkMuTkjJh7Gba9EMSK4O48z/qD
 1/N8cjh0oeJIrKM21CbrR3JjlGD7FphrLm8iI20f5aZJEATAt0nF3BnNt8TYcXL4W/qRlvZG2JSCo
 hnQbh+aeVIZzcyrUU1QqnLcOA7hynu9ZbikjxvAY605r4oalf1Nit7SDzfFX1lU6k0F0zTNVHU8Vh
 yKpRIbSYIFcrvHIzxMvxHk9f8TC+eA6vCVgPxEfI7m2/X4ujg+xKuIjPx+xQiBtZDU/DL60KIBP39
 L4T2Pvfj/yArSA==;
Original-Received: from [193.50.110.246] (helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludo@gnu.org>)
 id 1pInHQ-0004Ko-5J; Fri, 20 Jan 2023 04:01:48 -0500
In-Reply-To: <5404ACA9-05C6-4349-9736-3185914D8A0F@sarc.name>
 (lloda@sarc.name's message of "Wed, 21 Dec 2022 07:49:37 +0100")
Original-Lines: 44
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: bug-guile@gnu.org
List-Id: "Bug reports for GUILE,
 GNU's Ubiquitous Extension Language" <bug-guile.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/bug-guile>,
 <mailto:bug-guile-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/bug-guile>
List-Post: <mailto:bug-guile@gnu.org>
List-Help: <mailto:bug-guile-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/bug-guile>,
 <mailto:bug-guile-request@gnu.org?subject=subscribe>
Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org
Original-Sender: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org
Xref: news.gmane.io gmane.lisp.guile.bugs:10528
Archived-At: <http://permalink.gmane.org/gmane.lisp.guile.bugs/10528>

Hi Daniel,

lloda <lloda@sarc.name> skribis:

> .../libguile/threads.h:194:43: error: 'scm_i_current_thread' is defined w=
ith tls model global-dynamic
>   194 | SCM_INTERNAL SCM_THREAD_LOCAL scm_thread *scm_i_current_thread;
>       |                                           ^
> .../libguile/threads.c:357:30: note: previously defined here as local-dyn=
amic
>   357 | SCM_THREAD_LOCAL scm_thread *scm_i_current_thread =3D NULL;
>
> Simply repeating SCM_INTERNAL in the .c fixes it...

The problem is that =E2=80=98SCM_INTERNAL=E2=80=99 is synonymous with =E2=
=80=98extern=E2=80=99, which
makes no sense for a definition (threads.c:357), so rightfully GCC
GNU/Linux rightfully complains:

--8<---------------cut here---------------start------------->8---
  CC       libguile_3.0_la-threads.lo
threads.c:358:43: warning: 'scm_i_current_thread' initialized and declared =
'extern'
  358 | SCM_INTERNAL SCM_THREAD_LOCAL scm_thread *scm_i_current_thread =3D =
NULL;
      |                                           ^~~~~~~~~~~~~~~~~~~~
--8<---------------cut here---------------end--------------->8---

It=E2=80=99s just a warning, but still not looking good.

Is there something else at play, such as a =E2=80=98-ftls-model=E2=80=99 fl=
ag being
passed to GCC somehow (info =E2=80=9C(gcc) Code Gen Options")?

If not, should we have:

  #define SCM_THREAD_LOCAL \
    __thread __attribute__ ((__tls_model__ ("global-dynamic")))

instead (info "(gcc) Common Variable Attributes")?

Would that work with Clang?

Ludo=E2=80=99.