DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 60GEd5At2629349 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 60GEd5At2629349 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=y2cQPICc X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 12B814BA2E2A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1768574344; bh=4hbg3NLB/9hxpd5zxzdECGmPGBvZWH9ecrpqbOd4aLk=; h=Date:To:Subject:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=y2cQPICcFoTmMdJWUNxPoKdMeIH78gU5CEcFGdNjzm//+JwhJg17LXeRKuLrwjaft +BJuBuCSNPH63ZKdj25PGLpwT8gp4iDRUgiMl2ip9YsDYueDgGGUOm5bIDGq1XhiO+ 0vthq1hwfNnKaZrjXFDKLP+UwEtkcAcG8fF5Q8uc= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 440D64BA2E1C ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 440D64BA2E1C ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1768574292; cv=none; b=YSo6Gp4tL5OlFvy1BJbdMzjDPVGbLxzvnoirUhkcp1ujj3KoVoSTlB7krQ6/ca3Wkmy3b3nC5IAiupxyXcXRknWIynUnI05HFpxWaQHGsGBjUbIzpgVLTp4UPam8whBJZ4PUplnNWIsBfhzHqZvOFYI0qpjZDpR4P9xee1gFRuM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1768574292; c=relaxed/simple; bh=YjrvmSftwFq2ACuxQNsFsfSyHXRKuq7nsCMHR2zGLno=; h=Date:From:To:Subject:Message-Id:Mime-Version:DKIM-Signature; b=uXYf/KGrjaBUzcs9aVjNnnR4IkpzhZj2f7A90G9A2mezqs6my42LeBlOKW/mLVEaCKKhigDt32wINELi1Blnqb4a2bSV0p4mt16NxBBuMa8OcRLbch6pRjWWZ68/Qa0mikU/TuDKXPl2tphOwWNeP2QqCKtSTSWgcY03mXEaDmU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 440D64BA2E1C Date: Fri, 16 Jan 2026 23:38:06 +0900 To: cygwin AT cygwin DOT com Subject: Re: Request to update libc++ related packages for current Clang/LLVM toolchain Message-Id: <20260116233806.2ba9ec198a028e5d0c1d61cb@nifty.ne.jp> In-Reply-To: References: <20260115215321 DOT 2bc9368897b5b60557bd2485 AT nifty DOT ne DOT jp> <20260115235954 DOT 0abd10336dcd63067e1a0a06 AT nifty DOT ne DOT jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) 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: Takashi Yano via Cygwin Reply-To: Takashi Yano 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 60GEd5At2629349 On Fri, 16 Jan 2026 00:05:31 +0200 Florin wrote: > On Thu, Jan 15, 2026 at 5:00 PM Takashi Yano via Cygwin > wrote: > > > On Thu, 15 Jan 2026 21:53:21 +0900 > > Takashi Yano wrote: > > > On Sun, 11 Jan 2026 23:11:00 +0200 > > > Florin wrote: > > > > Hello Cygwin list, > > > > > > > > I’ve noticed that the Clang/LLVM stable packages in Cygwin are at > > version > > > > 20.1.x, while the libc++-devel, libc++1, libc++abi-devel, libc++abi1, > > > > libunwind-devel and libunwind1 packages are still at 8.0.1. According > > to > > > > the package summaries, they were last updated in 2019. > > > > > > > > This version mismatch can present issues using modern C++ features and > > > > makes it hard to use a complete LLVM toolchain with libc++ on Cygwin. > > > > > > > > I searched the Cygwin mailing list archives for prior posts about > > updating > > > > libc++, but I didn’t find a clear request or discussion about > > coordinating > > > > libc++ versions with newer Clang. > > > > > > > > Could you clarify if there is a plan to update libc++ to match more > > recent > > > > LLVM releases, or if the recommended C++ standard library for newer and > > > > future Clang versions on Cygwin should be libstdc++. > > > > > > > > Thank you for your time and I'm grateful for the effort you all put > > into > > > > this project. > > > > > > I have just uploaded libcxx, compiler-rt, and libunwind packages. > > > However, you cannot use them with -stdlib=libc++, -rtlib=compiler-rt, > > > and -unwindlib=libunwind. This is because clang package has incomplete > > > cygwin driver. > > > > > > You can link them to, for example hello.cc, with: > > > clang++ -stdlib=libc++ -isystem /usr/include/c++/v1 hello.cc -lc++ > > $(clang --print-resource-dir)/lib/cygwin/libclang_rt.builtins-x86_64.a > > -lunwind > > > > > > The resulted a.exe will be free from libgcc_s. Please try. > > > > I also uploaded 21.1.4-1 (Test) which works with clang/llvm 21.1.4-1 > > (Test). > > This test version does not have the problem above. > > > > -- > > Takashi Yano > > > > -- > > > 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 > > Hi Takashi, > > I appreciate the short response time and the details you provided. > > The test with a simple Hello World source on clang-20 based on your compile > command succeeded and the result does not depend, indeed, on > *cyggcc_s-seh-1.dll*. I didn't test the *-fuse-ld=lld* flag. > > For the test versions (21.1.4-1) I kept getting link errors. The > command *clang++ > -v -stdlib=libc++ -fuse-ld=lld hello.cc -lc++ -lunwind* produces a few > errors like this: > > > ld.lld: error: undefined symbol: std::__1::basic_ostream > std::__1::char_traits>::sentry::sentry(std::__1::basic_ostream > std::__1::char_traits>&) > > >>> referenced by /tmp/hello-a3d7ec.o:(std::__1::basic_ostream > std::__1::char_traits>& std::__1::__put_character_sequence > > *[abi:ne210104]* > std::__1::char_traits>(std::__1::basic_ostream > std::__1::char_traits>&, char const*, unsigned long)) > > > The default *ld* linker (*clang++ -v -stdlib=libc++ hello.cc -lc++ -lunwind* ) > behaves similarly: > > > /usr/bin/ld: > > /tmp/hello-e03638.o:hello.cc:(.text$_ZNSt3__124__put_character_sequenceB8ne210104IcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m[_ZNSt3__124__put_character_sequenceB8ne210104IcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m]+0x1ad): > > undefined reference to `std::__1::basic_ostream > std::__1::char_traits >::sentry::~sentry()' > > > > I've tried different workarounds but couldn't make it work for clang-21 > (-std=c++14, -D_LIBCPP_ABI_VERSION=1, -fno-exceptions, -fno-rtti). > > Do you have a working compile command I could try? > > The symbols demanded by compiler require *[abi:ne210104]* while the libc++ > contains symbols with different ABI. > The command *nm /usr/lib/libc++.dll.a | grep "basic_ostream" *produces > lines like "*0000000000000000 T > _ZTv0_n24_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev*", which lacks > the expected ABI tag. > > Is libc++ compiled with the correct flags? > Has the compiler some defaults not matching what current libc++ provides? > > Thank you for your time and we love your work, Thanks for testing and the report. That issue will be fixed in 21.1.4-2 (Test). Please test 21.1.4-2 (Test) as well that will be uploaded shortly. -- Takashi Yano -- 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