From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de [81.169.146.218]) by sourceware.org (Postfix) with ESMTPS id 195AC3858C2A for ; Thu, 16 Nov 2023 18:47:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 195AC3858C2A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=clisp.org Authentication-Results: sourceware.org; spf=none smtp.mailfrom=clisp.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 195AC3858C2A Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=81.169.146.218 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700160478; cv=pass; b=ZO6K7VkDbVi4CWiUVIVfP+e0LnSAXnGi1CsIGfaQGq6sgbtSYRcDnYTeJkM6xHaz5ThYP7g70N6vz9OE8Y7PLhEB2KUKVvk5aPQrqPzZpk4fru7225vx/d48ElbExsyvImawu+rN4FZbYOiqwuusDFknjMoUxdMtnT3ZoFvauH4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700160478; c=relaxed/simple; bh=itqI//5kHLyNRvrMt/94p2bC14nnnAIYAcuykbdrPl0=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=EWsuGGL8GdJRgDS16Zny51pv/NQdWkqoPnE6r43T8SCft3J070amVfRRXVKc+ijQfIUUQ6QEQ2pXL5va7Hx66Dte8S0iqrIKqQibsdP+BxPDGQNd/5uMuomjMjNCaRS9FFKHPwpy2NPgYqTycukATU0YwsZr3JVm4Zp3FBaI04Q= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1700160465; cv=none; d=strato.com; s=strato-dkim-0002; b=kmysLC3TvjypW/dOIBDww/FpXz2wFHmN3O20YpQT9lWgcMG4LHTIBlY8wezXB2VvoX tNoG5+cBxat6LYUc5qRwkrl5omaVKsUci/DxyVniAChXqCC+9+eflw1cYtEstoZB9Jwh 7F9u4IJcUs5iR2T1IOjvy656P6WQ0teIKONQV4UpV0HLp+U3D+jbGWnKPtNz8FGYN2sQ s/54pgLyFw++vVfSvat5LaK4lic8w3gGNncWad6M0rOKXCfT4qJhgX3J+z4X5CCM//M7 OxmvrchZpUT0Fox+s2imbGBMuNnPAqtHHZlirVCh2MhvxlgvTVZ1EMBWZb5o3DtsBf4D Tq3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1700160465; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=PDEw5g9i6QPrxzVliXJpyLf+Ab9FEb8x5SzFx/eMo/w=; b=cKPbO5lMLEmPdaXO0V6VDi9QZ8G5E9dt3q6pT5W1/A+zQSVajyHck1/EUnxpOBIGGg ZGcOZzGb6dYy0EUgboWw1PROX9y/onSxaAfhZe0lwx5vJUTCbFlPSVg0mCoqVj7wIe9l kURb7Iq4vr1Cz2//UPgwc9bl1FSKRO5rQLKCr9j19IVahUEbQkl2Q/r+MQOAgrFInP03 TCLWNTegVdLk6B3WMsmgiXsjSdqxQlu/jPgCEweQ7JLgmcFDqIoIWrJ0PNf5GhLvCSx8 B855JmbAbHIvdAtMBNIHUlzyjvWN6i1TuzcL/XA7DfYjP0tXOyrtwI4v/jEurlZV4wq2 D9aA== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1700160465; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=PDEw5g9i6QPrxzVliXJpyLf+Ab9FEb8x5SzFx/eMo/w=; b=jqbBpBF+Qz+wj6h1v0+A5pdGTN6pTvqzBUIs6UOfaKLmUO6K2McE81aRl7MVaddi+O taNi+Izpy6uIBL4f9tr3KGAvdGezCWzywvFw+o3T59QEpcIeXZkRJPy+FBVokdnU0TDi qtoNFxtI1ijkTaUCjffI9ZHqUrYUeFgjoaOhP2V6qxW3nQKFPHbIB3eemqJEvyss+eGC 936Hwk4BHLOd8irWfSxRHVU9om245RY+xZOCpcO4WL/r0rQOyGkik6CpIl4ZBViCMZVt kjWJ62hEIoe27I6KUJOXlzjOiUpodRIb2Vpy+iQwRdARSIdvBxdcwF4WSOkEBu1KqpNT 3Reg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1700160465; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=PDEw5g9i6QPrxzVliXJpyLf+Ab9FEb8x5SzFx/eMo/w=; b=wfRa/Ajb0EOp8v7HMQRJucpBI1ASbNv/O+zFVY1onVON6DLzB/3Ma91vLHfMll5NRt 0k6wMt5gf+nkemTdbuBA== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOS1Pdhpy3f268DFPX0NhSjcrZT" Received: from nimes.localnet by smtp.strato.de (RZmta 49.9.1 AUTH) with ESMTPSA id D75765zAGIljRrK (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Thu, 16 Nov 2023 19:47:45 +0100 (CET) From: Bruno Haible To: Richard Biener , David Edelsohn Cc: Arsen =?utf-8?B?QXJzZW5vdmnEhw==?= , GCC Patches , bug-gettext@gnu.org Subject: Re: building GNU gettext on AIX Date: Thu, 16 Nov 2023 19:47:44 +0100 Message-ID: <6664645.lMtyQzBqa6@nimes> In-Reply-To: References: <84B39BF1-33D5-488E-8CF5-D08B09417568@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: David Edelsohn wrote: > > It is great that gettext and libintl can be built thread-safe, but GCC > > (cc1, gcov, etc.) are not pthreads applications and are not built with > > pthreads. Because libintl defaults to pthreads enabled, NLS cannot > > function in GCC on AIX by default. =20 > ... > The latest issue is that a few files in gettext ignore --disable-pthreads > and creates a dependency on pthread_mutex. GNU gettext does not have an option '--disable-pthreads'. Instead, it has options --enable-threads=3D{isoc|posix|isoc+posix|windows} specify multithreading API --disable-threads build without multithread safety > The issue appears to be that intl/gnulib-lib/{mbrtowc.c,setlocale_null.c} > include pthread.h based on HAVE_PTHREAD_API, which is defined as 1 in > intl/config.h build directory Yup, I confirm that the dependency comes from these two object files. Will the next GCC release support AIX 7.1.x ? Recall that AIX 7.1 went end-of-life on 2023-04-30 [1] * If no, then the simple solution would be to pass the configure option --enable-threads=3Disoc This should not introduce a link dependency, because the mtx_lock, mtx_unlock, and mtx_init functions are in libc in AIX =E2=89=A5 7.2. Cu= rrently it does not work (it still uses pthread_mutex_lock and pthread_mutex_unlock despite --enable-threads=3Disoc). But I could make this work and release a gettext 0.22.4 with the fix. * If yes, then the question is how distributors will in general package libintl on AIX. If it's installed in public locations (such as in /opt/freeware/{lib,lib64}/libintl.a on gcc119.fsffrance.org), then we have a problem: It may cause undefined behaviour in multithreaded packages that use GNU libintl. If you can guarantee that it will be installed in GCC-private directori= es (and outside the path where GCC looks for libraries to link with!) then it would be OK to install such a non-thread-safe libintl. But if you cannot guarantee that, we are in trouble. How do other library vendors handle this issue on AIX? Do they ship two libraries, one MT-safe and one not? Under different names? Or in differ= ent library search paths? Bruno [1] https://www.ibm.com/support/pages/aix-support-lifecycle-information