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 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: kikairoya via Cygwin Reply-To: kikairoya Content-Type: text/plain; charset="utf-8" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit 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