www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2026/01/23/07:29:16

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 60NCTGtx2957518
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 60NCTGtx2957518
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=FjYBOni4
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4EDE14BC89BC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1769171355;
bh=RHcOmgzALTTuJOd2xJJ74Sdqz5TK6j7HsXMcRrJqbCU=;
h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=FjYBOni4mKJVlLvLxHHAucyOhHTAvGtRH3XVslVF5u8FQcHv0o5HPea1QfVWDHDNj
iN31DMaDetyhlfRe8bLUpfHnNjEZktIQh/LHPHMGKgDkd9G6qqD6dB6r+S+7E227Gl
eYVTNFi/fIsPowf9xLTja/T6ujo7C9h8dfC6z/0Y=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5E9884BCA404
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5E9884BCA404
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1769171334; cv=none;
b=iA4/2961BHwnfk8MsBfFhxtmqXcy/POxzsSXFCTpuDzdhMXgltQggE636wnL5WaZb+mMiy6OVc1zWRRciithe+MZZA54CwyC/EPa5rKE5rQ0kZS5N6/Gr9l+nmljhUpWXSzd3PHkuWtSb16njnH8ADYnxjjLqjpD4lh7zwPeGzU=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1769171334; c=relaxed/simple;
bh=V5sYaUbFSl9jk8RsmsTDd19A0I4wtJZj94DfzXrfdv0=;
h=DKIM-Signature:Message-Id:From:To:Subject:Date:MIME-Version;
b=cUQ8Epdu89VtuDSQ0BnpfftKeAt0eHEA8AZTh6C6EXLNGATpIFsXi7/sM9X97anaTdjCWiTPgwhkP9WU1Aioe5Qb7M5CM/XJWAlNHOrwV2QHMUw013uT77y4zkFYbpGGe2G9snkDxwCjmSht3VFB1LeilmTsmM/68HXKuzBCz3w=
ARC-Authentication-Results: i=1; server2.sourceware.org
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1769171333; x=1769776133;
h=mime-version:content-transfer-encoding:user-agent:references
:in-reply-to:date:subject:to:from:message-id:x-gm-gg
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=zrE8XzLBpY1pzKL8RXWbP079OvuMz1VP/nRbRcdXU0s=;
b=YO1EMoNZU6YRH6hQyJ02e5u3/YQOcYh7Jhcu/WYLul+TuJ0YH+9O1onFORFiA4FQP3
imLdHywvrf9nqJMZa/2t04HBQq5QJ5LSjbQwskjHnPAGeGyCOHuCvSIwtVaHNfh03RUB
LZGnYr5gaoDl7K8fOkZEPgvcUmCoNCtPmhwUDzfM4y+d1zYiQaxbZJcgI53KuhiAqhFL
yEIDi8+95YiaKbtqB2SsF7rAcCzeTlsw408/otg2zT9RH5EU4RMAyLcbylLRa3nIqCsY
kkDRJQYdHe/Owlw+RnLXuWlADNm7hHgF4ohMKe9jSem+1rJXd1lfd6x4ga2QWJ/VWsFr
zh2Q==
X-Gm-Message-State: AOJu0YxqWNL7ZvtPvIaGubL4auT3mSl2O/yWAgx29eaiqpTOCPIwDJdU
1tIuJLz7Ev9PS6KPQPdLJ64wlzrKIcLpIr2lHeDVhKoVAGSBE6W/6USH7kLCtg==
X-Gm-Gg: AZuq6aJGLdCXV2y1YEgKZWxYF6kjTa1z3fENyY2wG5CZ/RGK6DtDp2VQjnkhNsuGXob
ff1pwK67oKGSeYNwV01z4C74ExE8jTbPb7TRhOQYlRJxSdrAkTYRLm5vaSaB5TRmcJfPnfxUHmQ
pHW2Kha6QzcPcenavsiRjKvvr5ghfyIEvQGM8WQYicovmwqxZFn8XUypUTY7/eEji074es2iu96
5ug9tQ8mTONEpM6vp/znRIcdN31eEsJf5A5J2AGiuFKYn+cxBhqh5rn2u6eKaKLzRv/+unXpNEZ
dEaUJUE6r+4RWpGUSsG54dcsyQCWA8LAdz8A2jUQ49MMUAJ131Qfk0defg7kj0eVOa9OFNbf0dw
ACObf5YTXeQuBAzD9+Tc2s0v3WEX2om60Mksb1cDV2CEGrVvv3k1bs0myXDUbj+qGJosh48PDTs
vnDXu9iNspZoqcOrsqdZlDITXi8eUtabqUypI=
X-Received: by 2002:a17:903:2984:b0:2a0:e5cd:80a1 with SMTP id
d9443c01a7336-2a7fe73547bmr31317575ad.41.1769171333297;
Fri, 23 Jan 2026 04:28:53 -0800 (PST)
Message-Id: <1769162973466.1292911577.1255992200@gmail.com>
To: cygwin AT cygwin DOT com
Subject: Re: Request to update libc++ related packages for current
Clang/LLVM toolchain
Date: Fri, 23 Jan 2026 12:28:51 +0000
In-Reply-To: <20260122172003.9f1447b5885d76561c898c81@nifty.ne.jp>
References: <20260122172003 DOT 9f1447b5885d76561c898c81 AT nifty DOT ne DOT jp>
X-Mailer: Vivaldi Mail
User-Agent: Vivaldi Mail/7.7.3851.67
MIME-Version: 1.0
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: kikairoya via Cygwin <cygwin AT cygwin DOT com>
Reply-To: kikairoya <kikairoya AT gmail DOT com>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 60NCTGtx2957518


2026年1月22日 17:20:03 (+09:00) で、Takashi Yano via Cygwin さんが書きました:

> >
> > If you are planning to provide a package built with compiler-rt, especially
> > one that contains a DLL, I would say, "Please don't do that." It's very
> > different if someone decides to build their own application with compiler-rt
> > and takes responsibility for doing so. Before providing such a package, the
> > implementation of native TLS in cygwin1.dll is needed, as well as an update
> > to the toolchains to use it (and, I guess, it is impossible to switch with
> > keeping ABI). That changes the fundamental design of the distribution.
> 
> I attempted to build the entire compiler-rt (builtins) as a shared library,
> similar to the suggestions in:
> https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/builtins/emutls.c#L388-L389
> , and could successfully solve the problem.
> Could you please try 21.1.4-2 (Test)?
> 


I’m concerned this makes the situation worse than providing a static library. I guess
that the upstream has never built it as a shared library. Consequently, that configuration
appears to be largely untested.
And then, what is the benefit of "specifying -rtlib=compiler-rt makes us cyggcc_s.dll free but
requires a dependency on cygclang_rt.builtins-21-x86_64.dll" ? Is there another benefit?

Furthermore, if you really intend to provide a DLL linked with compiler-rt, the
DLL comes with limitations that are hard to notice.
(If this is not what you are planning, please feel free to ignore this.)
- Linking the DLL without -rtlib=compiler-rt breaks the EmuTLS functionality silently. There is
  no way to know that the linking needs compiler-rt except inspecting the DLL with ldd or objdump.
- GCC doesn't support -rtlib=compiler-rt. That effectively enforces the use of clang.
- A single module (EXE or DLL) can link against only one of the TLS implementations, either the
  one from libgcc_s or the one from compiler-rt. A TLS variable that relies on the other
  implementation would be broken (again, silently).

Of course that might not matter if EmuTLS is never used, however, I worry about the
assumptions that are not enforced or validators automatically would be broken silently.

Therefore, my conclusion remains unchanged -- "Please don't do that."

Just to note, we're now focusing on compiler-rt because my original attention is about
EmuTLS, but the same discussion is applicable to libc++. A DLL that exports C++ interfaces
and linked to libc++ (if such a DLL were to be provided, would it be cygLLVM-X.dll?) can't be
linked together with another libstdc++-ed C++ library (e.g., boost).


> Actually, profiler itself was included, but did not work at all. Both the
> compiler-rt package and the llvm package had their own issues. I have
> uploaded llvm 21.1.4-2 (Test) and compiler-rt 21.1.4-2 (Test), so please
> test the profiler as well.
> 

That's great. Thanks.
-- 
Tomohiro Kashiwada (@kikairoya)

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019