public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-01-26 20:01 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-01-26 20:01 UTC (permalink / raw
  To: gentoo-commits

commit:     ccf5fbc90ecfe4104a510a2ec5dc9070f0ded9e1
Author:     Michal Rostecki <vadorovsky <AT> protonmail <DOT> com>
AuthorDate: Thu Jan  9 17:50:22 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jan 26 20:00:16 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ccf5fbc9

llvm-runtimes/libgcc: New package, 19.1.7 and 20.x

llvm-libgcc[0] is the LLVM subproject which provides a link script,
which can be used to build a library linked to compiler-rt and
llvm-libunwind, which serves as a full replacement of libgcc_s.

The main purpose of having it in Gentoo is ability to run binaries,
linked to libgcc_s, on musl-llvm systems.

[0] https://github.com/llvm/llvm-project/tree/main/llvm-libgcc

Bug: https://bugs.gentoo.org/946486
Signed-off-by: Michal Rostecki <vadorovsky <AT> protonmail.com>
Pull-Request: https://github.com/gentoo/gentoo/pull/39868
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                      |   3 +
 llvm-runtimes/libgcc/libgcc-19.1.7.ebuild          | 156 +++++++++++++++++++++
 llvm-runtimes/libgcc/libgcc-20.0.0.9999.ebuild     | 155 ++++++++++++++++++++
 .../libgcc/libgcc-20.0.0_pre20250125.ebuild        | 155 ++++++++++++++++++++
 llvm-runtimes/libgcc/metadata.xml                  |  14 ++
 5 files changed, 483 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
new file mode 100644
index 000000000000..dd32663f8ba1
--- /dev/null
+++ b/llvm-runtimes/libgcc/Manifest
@@ -0,0 +1,3 @@
+DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
+DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
+DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac

diff --git a/llvm-runtimes/libgcc/libgcc-19.1.7.ebuild b/llvm-runtimes/libgcc/libgcc-19.1.7.ebuild
new file mode 100644
index 000000000000..c34243d2efce
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-19.1.7.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}

diff --git a/llvm-runtimes/libgcc/libgcc-20.0.0.9999.ebuild b/llvm-runtimes/libgcc/libgcc-20.0.0.9999.ebuild
new file mode 100644
index 000000000000..c1ca1f41c22a
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-20.0.0.9999.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}

diff --git a/llvm-runtimes/libgcc/libgcc-20.0.0_pre20250125.ebuild b/llvm-runtimes/libgcc/libgcc-20.0.0_pre20250125.ebuild
new file mode 100644
index 000000000000..c1ca1f41c22a
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-20.0.0_pre20250125.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}

diff --git a/llvm-runtimes/libgcc/metadata.xml b/llvm-runtimes/libgcc/metadata.xml
new file mode 100644
index 000000000000..b3600beef01f
--- /dev/null
+++ b/llvm-runtimes/libgcc/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>vadorovsky@protonmail.com</email>
+		<name>Michal Rostecki</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>llvm@gentoo.org</email>
+	</maintainer>
+	<upstream>
+		<remote-id type="github">llvm/llvm-project</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-01  8:05 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-01  8:05 UTC (permalink / raw
  To: gentoo-commits

commit:     640b5b6bebfd9e11529df03a816bb08260dffe65
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  1 07:59:22 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb  1 08:05:51 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=640b5b6b

llvm-runtimes/libgcc: main is now 21*

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../libgcc/{libgcc-20.0.0.9999.ebuild => libgcc-21.0.0.9999.ebuild}       | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/llvm-runtimes/libgcc/libgcc-20.0.0.9999.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0.9999.ebuild
similarity index 100%
rename from llvm-runtimes/libgcc/libgcc-20.0.0.9999.ebuild
rename to llvm-runtimes/libgcc/libgcc-21.0.0.9999.ebuild


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-01 13:15 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-01 13:15 UTC (permalink / raw
  To: gentoo-commits

commit:     e79fa0df7210002782f0ae254f7697190847e0f9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  1 13:12:55 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb  1 13:14:52 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e79fa0df

llvm-runtimes/libgcc: Add 21.0.0_pre20250201 snapshot

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                      |   1 +
 .../libgcc/libgcc-21.0.0_pre20250201.ebuild        | 155 +++++++++++++++++++++
 2 files changed, 156 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index dd32663f8ba1..0f52b6d507b3 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -1,3 +1,4 @@
 DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
 DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
+DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 BLAKE2B 165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476 SHA512 e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250201.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250201.ebuild
new file mode 100644
index 000000000000..c1ca1f41c22a
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250201.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-02 18:25 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-02 18:25 UTC (permalink / raw
  To: gentoo-commits

commit:     ac6a53c93dbb9fd34c7dcfafd195ffbcd59852e4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  2 15:58:56 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb  2 18:25:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac6a53c9

llvm-runtimes/libgcc: Add 20.1.0_rc1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                 |   2 +
 llvm-runtimes/libgcc/libgcc-20.1.0_rc1.ebuild | 155 ++++++++++++++++++++++++++
 2 files changed, 157 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index 0f52b6d507b3..8d32d938c110 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -1,4 +1,6 @@
 DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
 DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
+DIST llvm-project-20.1.0-rc1.src.tar.xz 147144668 BLAKE2B ea4733962f38ea5897c73e91840818921739909c3671749bc8a0b1d2798e5a0815bbe750ade3a2a7414836ab7158754818b2f9370a4ee1bbbd52c96b1e95ef9b SHA512 c23c4b1227b6b0b7c3059358e64a00ee98893236bb1a0a41d7e821bdf2aa8353aea8f9f7b9498899c6807b9b8e2ceb06c3cd62e32fd07a786a319135055541b4
+DIST llvm-project-20.1.0-rc1.src.tar.xz.sig 566 BLAKE2B 32eb278ec4ff1bb9d258b584922b0d227f4126a957ba75af44dcaa63b6a12ef73db56d6a86f24244af47803ddf6a243149d784f08137cbea60b49700be537705 SHA512 d7a334326201f8ca78284b33c325f180538667a0401bc30931e790aacc96dd78f6559c45929b6c335d40ef1dbe772738c0ce55d881ae3d7401733778b485408c
 DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 BLAKE2B 165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476 SHA512 e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23

diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0_rc1.ebuild b/llvm-runtimes/libgcc/libgcc-20.1.0_rc1.ebuild
new file mode 100644
index 000000000000..c1ca1f41c22a
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-20.1.0_rc1.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-08 11:51 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-08 11:51 UTC (permalink / raw
  To: gentoo-commits

commit:     680c5f5906efab3769b01795c2165ce440bd98b4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  8 11:49:02 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb  8 11:49:02 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=680c5f59

llvm-runtimes/libgcc: Add 21.0.0_pre20250208 snapshot

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                      |   1 +
 .../libgcc/libgcc-21.0.0_pre20250208.ebuild        | 155 +++++++++++++++++++++
 2 files changed, 156 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index 8d32d938c110..4e4693330894 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -3,4 +3,5 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf
 DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
 DIST llvm-project-20.1.0-rc1.src.tar.xz 147144668 BLAKE2B ea4733962f38ea5897c73e91840818921739909c3671749bc8a0b1d2798e5a0815bbe750ade3a2a7414836ab7158754818b2f9370a4ee1bbbd52c96b1e95ef9b SHA512 c23c4b1227b6b0b7c3059358e64a00ee98893236bb1a0a41d7e821bdf2aa8353aea8f9f7b9498899c6807b9b8e2ceb06c3cd62e32fd07a786a319135055541b4
 DIST llvm-project-20.1.0-rc1.src.tar.xz.sig 566 BLAKE2B 32eb278ec4ff1bb9d258b584922b0d227f4126a957ba75af44dcaa63b6a12ef73db56d6a86f24244af47803ddf6a243149d784f08137cbea60b49700be537705 SHA512 d7a334326201f8ca78284b33c325f180538667a0401bc30931e790aacc96dd78f6559c45929b6c335d40ef1dbe772738c0ce55d881ae3d7401733778b485408c
+DIST llvm-project-6f241e36831927e3aea113cfc017c34fdeda340a.tar.gz 227203285 BLAKE2B 8d5e424c1836acc82ea766cd2cef104593c44d197ebeb64f18dbe74b1b5baeb4bc84084f5b68bd87ac36f7df25689dd2522cb6674a97da4f96f4f10f7bae5b06 SHA512 2b6e4bd6445eabfa3ace9b45d20797c7afc23f4553a8938399aeba227e3b8ca6a53a7d7762925a845bfed031c37af692b9c08180fbab80db2f3166940e560077
 DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 BLAKE2B 165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476 SHA512 e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250208.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250208.ebuild
new file mode 100644
index 000000000000..c1ca1f41c22a
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250208.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-11 11:29 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-11 11:29 UTC (permalink / raw
  To: gentoo-commits

commit:     8b27c0b8ab99ab8974b4f7c28e00d95a6cec3a98
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 11 10:56:56 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Feb 11 11:29:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b27c0b8

llvm-runtimes/libgcc: Add 21.0.0_pre20250211 snapshot

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                      |   1 +
 .../libgcc/libgcc-21.0.0_pre20250211.ebuild        | 155 +++++++++++++++++++++
 2 files changed, 156 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index 4e4693330894..b8d4278fca91 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -3,5 +3,6 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf
 DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
 DIST llvm-project-20.1.0-rc1.src.tar.xz 147144668 BLAKE2B ea4733962f38ea5897c73e91840818921739909c3671749bc8a0b1d2798e5a0815bbe750ade3a2a7414836ab7158754818b2f9370a4ee1bbbd52c96b1e95ef9b SHA512 c23c4b1227b6b0b7c3059358e64a00ee98893236bb1a0a41d7e821bdf2aa8353aea8f9f7b9498899c6807b9b8e2ceb06c3cd62e32fd07a786a319135055541b4
 DIST llvm-project-20.1.0-rc1.src.tar.xz.sig 566 BLAKE2B 32eb278ec4ff1bb9d258b584922b0d227f4126a957ba75af44dcaa63b6a12ef73db56d6a86f24244af47803ddf6a243149d784f08137cbea60b49700be537705 SHA512 d7a334326201f8ca78284b33c325f180538667a0401bc30931e790aacc96dd78f6559c45929b6c335d40ef1dbe772738c0ce55d881ae3d7401733778b485408c
+DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
 DIST llvm-project-6f241e36831927e3aea113cfc017c34fdeda340a.tar.gz 227203285 BLAKE2B 8d5e424c1836acc82ea766cd2cef104593c44d197ebeb64f18dbe74b1b5baeb4bc84084f5b68bd87ac36f7df25689dd2522cb6674a97da4f96f4f10f7bae5b06 SHA512 2b6e4bd6445eabfa3ace9b45d20797c7afc23f4553a8938399aeba227e3b8ca6a53a7d7762925a845bfed031c37af692b9c08180fbab80db2f3166940e560077
 DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 BLAKE2B 165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476 SHA512 e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250211.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250211.ebuild
new file mode 100644
index 000000000000..c1ca1f41c22a
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250211.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-13  7:53 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-13  7:53 UTC (permalink / raw
  To: gentoo-commits

commit:     5f3b998dbe80eaf5afd442aa81df08d07e93c950
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 13 07:48:09 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 13 07:53:04 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f3b998d

llvm-runtimes/libgcc: Add 20.1.0_rc2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                 |   2 +
 llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild | 155 ++++++++++++++++++++++++++
 2 files changed, 157 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index b8d4278fca91..f0007d8d911b 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -3,6 +3,8 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf
 DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
 DIST llvm-project-20.1.0-rc1.src.tar.xz 147144668 BLAKE2B ea4733962f38ea5897c73e91840818921739909c3671749bc8a0b1d2798e5a0815bbe750ade3a2a7414836ab7158754818b2f9370a4ee1bbbd52c96b1e95ef9b SHA512 c23c4b1227b6b0b7c3059358e64a00ee98893236bb1a0a41d7e821bdf2aa8353aea8f9f7b9498899c6807b9b8e2ceb06c3cd62e32fd07a786a319135055541b4
 DIST llvm-project-20.1.0-rc1.src.tar.xz.sig 566 BLAKE2B 32eb278ec4ff1bb9d258b584922b0d227f4126a957ba75af44dcaa63b6a12ef73db56d6a86f24244af47803ddf6a243149d784f08137cbea60b49700be537705 SHA512 d7a334326201f8ca78284b33c325f180538667a0401bc30931e790aacc96dd78f6559c45929b6c335d40ef1dbe772738c0ce55d881ae3d7401733778b485408c
+DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb
+DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce
 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
 DIST llvm-project-6f241e36831927e3aea113cfc017c34fdeda340a.tar.gz 227203285 BLAKE2B 8d5e424c1836acc82ea766cd2cef104593c44d197ebeb64f18dbe74b1b5baeb4bc84084f5b68bd87ac36f7df25689dd2522cb6674a97da4f96f4f10f7bae5b06 SHA512 2b6e4bd6445eabfa3ace9b45d20797c7afc23f4553a8938399aeba227e3b8ca6a53a7d7762925a845bfed031c37af692b9c08180fbab80db2f3166940e560077
 DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 BLAKE2B 165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476 SHA512 e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23

diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild b/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild
new file mode 100644
index 000000000000..c1ca1f41c22a
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-15  7:19 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-15  7:19 UTC (permalink / raw
  To: gentoo-commits

commit:     3b5a33b6d867c1d10758d409f609332578a46850
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 15 07:17:51 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 15 07:17:51 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b5a33b6

llvm-runtimes/libgcc: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                      |   5 -
 .../libgcc/libgcc-20.0.0_pre20250125.ebuild        | 155 ---------------------
 llvm-runtimes/libgcc/libgcc-20.1.0_rc1.ebuild      | 155 ---------------------
 .../libgcc/libgcc-21.0.0_pre20250201.ebuild        | 155 ---------------------
 .../libgcc/libgcc-21.0.0_pre20250208.ebuild        | 155 ---------------------
 5 files changed, 625 deletions(-)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index f0007d8d911b..c8d4e2dd9700 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -1,10 +1,5 @@
 DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
-DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
-DIST llvm-project-20.1.0-rc1.src.tar.xz 147144668 BLAKE2B ea4733962f38ea5897c73e91840818921739909c3671749bc8a0b1d2798e5a0815bbe750ade3a2a7414836ab7158754818b2f9370a4ee1bbbd52c96b1e95ef9b SHA512 c23c4b1227b6b0b7c3059358e64a00ee98893236bb1a0a41d7e821bdf2aa8353aea8f9f7b9498899c6807b9b8e2ceb06c3cd62e32fd07a786a319135055541b4
-DIST llvm-project-20.1.0-rc1.src.tar.xz.sig 566 BLAKE2B 32eb278ec4ff1bb9d258b584922b0d227f4126a957ba75af44dcaa63b6a12ef73db56d6a86f24244af47803ddf6a243149d784f08137cbea60b49700be537705 SHA512 d7a334326201f8ca78284b33c325f180538667a0401bc30931e790aacc96dd78f6559c45929b6c335d40ef1dbe772738c0ce55d881ae3d7401733778b485408c
 DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb
 DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce
 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
-DIST llvm-project-6f241e36831927e3aea113cfc017c34fdeda340a.tar.gz 227203285 BLAKE2B 8d5e424c1836acc82ea766cd2cef104593c44d197ebeb64f18dbe74b1b5baeb4bc84084f5b68bd87ac36f7df25689dd2522cb6674a97da4f96f4f10f7bae5b06 SHA512 2b6e4bd6445eabfa3ace9b45d20797c7afc23f4553a8938399aeba227e3b8ca6a53a7d7762925a845bfed031c37af692b9c08180fbab80db2f3166940e560077
-DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 BLAKE2B 165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476 SHA512 e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23

diff --git a/llvm-runtimes/libgcc/libgcc-20.0.0_pre20250125.ebuild b/llvm-runtimes/libgcc/libgcc-20.0.0_pre20250125.ebuild
deleted file mode 100644
index c1ca1f41c22a..000000000000
--- a/llvm-runtimes/libgcc/libgcc-20.0.0_pre20250125.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="debug test"
-
-DEPEND="
-	~llvm-runtimes/libunwind-${PV}[static-libs]
-"
-RDEPEND="
-	${DEPEND}
-	!sys-devel/gcc
-"
-BDEPEND="
-	llvm-core/clang:${LLVM_MAJOR}
-	test? (
-		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
-		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
-	)
-	!test? (
-		${PYTHON_DEPS}
-	)
-"
-
-LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
-LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
-llvm.org_set_globals
-
-python_check_deps() {
-	use test || return 0
-	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	if target_is_not_host || tc-is-cross-compiler ; then
-		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
-		CHOST=${CTARGET} strip-unsupported-flags
-		# overrides host docs otherwise
-		DOCS=()
-	fi
-	python-any-r1_pkg_setup
-}
-
-src_configure() {
-	# We need to build a separate copy of compiler-rt, because we need to disable the
-	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
-	# visibility of all symbols.
-
-	llvm_prepend_path "${LLVM_MAJOR}"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
-	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
-	strip-unsupported-flags
-
-	local mycmakeargs=(
-		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
-
-		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
-		-DCOMPILER_RT_BUILD_CRT=OFF
-		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-		-DCOMPILER_RT_BUILD_MEMPROF=OFF
-		-DCOMPILER_RT_BUILD_ORC=OFF
-		-DCOMPILER_RT_BUILD_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-		-DCOMPILER_RT_BUILD_XRAY=OFF
-
-		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-
-	# disable building non-native runtimes since we don't do multilib
-	if use amd64; then
-		mycmakeargs+=(
-			-DCAN_TARGET_i386=OFF
-		)
-	fi
-
-	if use test; then
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="$(get_lit_flags)"
-
-			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
-			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-src_compile() {
-	cmake_src_compile
-
-	local rtlib=$(
-		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
-			-print-libgcc-file-name || die
-	)
-
-	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
-	# combines compiler-rt and libunwind into a libgcc replacement.
-	#
-	# What we do here is similar to what upstream does[0], with the following
-	# differences:
-	#
-	# * We build the local copy of compiler-rt manually, to have a full control
-	#   over CMake options.
-	# * Upstream links the locally built copy of libunwind statically. We link the
-	#   system-wide libunwind dynamically.
-	#
-	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
-	"${CC}" -E -xc \
-		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
-		-o gcc_s.ver || die
-	"${CC}" -nostdlib \
-		${LDFLAGS} \
-		-Wl,--version-script,gcc_s.ver \
-		-Wl,--undefined-version \
-		-Wl,--whole-archive \
-		"${rtlib}" \
-		-Wl,-soname,libgcc_s.so.1.0 \
-		-lc -lunwind -shared \
-		-o libgcc_s.so.1.0 || die
-	cp "${rtlib}" libgcc.a || die
-}
-
-src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-
-	cmake_build check-builtins
-}
-
-src_install() {
-	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0
-	dolib.a libgcc.a
-	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
-	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
-}

diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0_rc1.ebuild b/llvm-runtimes/libgcc/libgcc-20.1.0_rc1.ebuild
deleted file mode 100644
index c1ca1f41c22a..000000000000
--- a/llvm-runtimes/libgcc/libgcc-20.1.0_rc1.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="debug test"
-
-DEPEND="
-	~llvm-runtimes/libunwind-${PV}[static-libs]
-"
-RDEPEND="
-	${DEPEND}
-	!sys-devel/gcc
-"
-BDEPEND="
-	llvm-core/clang:${LLVM_MAJOR}
-	test? (
-		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
-		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
-	)
-	!test? (
-		${PYTHON_DEPS}
-	)
-"
-
-LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
-LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
-llvm.org_set_globals
-
-python_check_deps() {
-	use test || return 0
-	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	if target_is_not_host || tc-is-cross-compiler ; then
-		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
-		CHOST=${CTARGET} strip-unsupported-flags
-		# overrides host docs otherwise
-		DOCS=()
-	fi
-	python-any-r1_pkg_setup
-}
-
-src_configure() {
-	# We need to build a separate copy of compiler-rt, because we need to disable the
-	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
-	# visibility of all symbols.
-
-	llvm_prepend_path "${LLVM_MAJOR}"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
-	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
-	strip-unsupported-flags
-
-	local mycmakeargs=(
-		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
-
-		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
-		-DCOMPILER_RT_BUILD_CRT=OFF
-		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-		-DCOMPILER_RT_BUILD_MEMPROF=OFF
-		-DCOMPILER_RT_BUILD_ORC=OFF
-		-DCOMPILER_RT_BUILD_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-		-DCOMPILER_RT_BUILD_XRAY=OFF
-
-		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-
-	# disable building non-native runtimes since we don't do multilib
-	if use amd64; then
-		mycmakeargs+=(
-			-DCAN_TARGET_i386=OFF
-		)
-	fi
-
-	if use test; then
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="$(get_lit_flags)"
-
-			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
-			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-src_compile() {
-	cmake_src_compile
-
-	local rtlib=$(
-		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
-			-print-libgcc-file-name || die
-	)
-
-	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
-	# combines compiler-rt and libunwind into a libgcc replacement.
-	#
-	# What we do here is similar to what upstream does[0], with the following
-	# differences:
-	#
-	# * We build the local copy of compiler-rt manually, to have a full control
-	#   over CMake options.
-	# * Upstream links the locally built copy of libunwind statically. We link the
-	#   system-wide libunwind dynamically.
-	#
-	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
-	"${CC}" -E -xc \
-		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
-		-o gcc_s.ver || die
-	"${CC}" -nostdlib \
-		${LDFLAGS} \
-		-Wl,--version-script,gcc_s.ver \
-		-Wl,--undefined-version \
-		-Wl,--whole-archive \
-		"${rtlib}" \
-		-Wl,-soname,libgcc_s.so.1.0 \
-		-lc -lunwind -shared \
-		-o libgcc_s.so.1.0 || die
-	cp "${rtlib}" libgcc.a || die
-}
-
-src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-
-	cmake_build check-builtins
-}
-
-src_install() {
-	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0
-	dolib.a libgcc.a
-	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
-	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
-}

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250201.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250201.ebuild
deleted file mode 100644
index c1ca1f41c22a..000000000000
--- a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250201.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="debug test"
-
-DEPEND="
-	~llvm-runtimes/libunwind-${PV}[static-libs]
-"
-RDEPEND="
-	${DEPEND}
-	!sys-devel/gcc
-"
-BDEPEND="
-	llvm-core/clang:${LLVM_MAJOR}
-	test? (
-		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
-		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
-	)
-	!test? (
-		${PYTHON_DEPS}
-	)
-"
-
-LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
-LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
-llvm.org_set_globals
-
-python_check_deps() {
-	use test || return 0
-	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	if target_is_not_host || tc-is-cross-compiler ; then
-		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
-		CHOST=${CTARGET} strip-unsupported-flags
-		# overrides host docs otherwise
-		DOCS=()
-	fi
-	python-any-r1_pkg_setup
-}
-
-src_configure() {
-	# We need to build a separate copy of compiler-rt, because we need to disable the
-	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
-	# visibility of all symbols.
-
-	llvm_prepend_path "${LLVM_MAJOR}"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
-	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
-	strip-unsupported-flags
-
-	local mycmakeargs=(
-		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
-
-		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
-		-DCOMPILER_RT_BUILD_CRT=OFF
-		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-		-DCOMPILER_RT_BUILD_MEMPROF=OFF
-		-DCOMPILER_RT_BUILD_ORC=OFF
-		-DCOMPILER_RT_BUILD_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-		-DCOMPILER_RT_BUILD_XRAY=OFF
-
-		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-
-	# disable building non-native runtimes since we don't do multilib
-	if use amd64; then
-		mycmakeargs+=(
-			-DCAN_TARGET_i386=OFF
-		)
-	fi
-
-	if use test; then
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="$(get_lit_flags)"
-
-			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
-			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-src_compile() {
-	cmake_src_compile
-
-	local rtlib=$(
-		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
-			-print-libgcc-file-name || die
-	)
-
-	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
-	# combines compiler-rt and libunwind into a libgcc replacement.
-	#
-	# What we do here is similar to what upstream does[0], with the following
-	# differences:
-	#
-	# * We build the local copy of compiler-rt manually, to have a full control
-	#   over CMake options.
-	# * Upstream links the locally built copy of libunwind statically. We link the
-	#   system-wide libunwind dynamically.
-	#
-	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
-	"${CC}" -E -xc \
-		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
-		-o gcc_s.ver || die
-	"${CC}" -nostdlib \
-		${LDFLAGS} \
-		-Wl,--version-script,gcc_s.ver \
-		-Wl,--undefined-version \
-		-Wl,--whole-archive \
-		"${rtlib}" \
-		-Wl,-soname,libgcc_s.so.1.0 \
-		-lc -lunwind -shared \
-		-o libgcc_s.so.1.0 || die
-	cp "${rtlib}" libgcc.a || die
-}
-
-src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-
-	cmake_build check-builtins
-}
-
-src_install() {
-	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0
-	dolib.a libgcc.a
-	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
-	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
-}

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250208.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250208.ebuild
deleted file mode 100644
index c1ca1f41c22a..000000000000
--- a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250208.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="debug test"
-
-DEPEND="
-	~llvm-runtimes/libunwind-${PV}[static-libs]
-"
-RDEPEND="
-	${DEPEND}
-	!sys-devel/gcc
-"
-BDEPEND="
-	llvm-core/clang:${LLVM_MAJOR}
-	test? (
-		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
-		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
-	)
-	!test? (
-		${PYTHON_DEPS}
-	)
-"
-
-LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
-LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
-llvm.org_set_globals
-
-python_check_deps() {
-	use test || return 0
-	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	if target_is_not_host || tc-is-cross-compiler ; then
-		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
-		CHOST=${CTARGET} strip-unsupported-flags
-		# overrides host docs otherwise
-		DOCS=()
-	fi
-	python-any-r1_pkg_setup
-}
-
-src_configure() {
-	# We need to build a separate copy of compiler-rt, because we need to disable the
-	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
-	# visibility of all symbols.
-
-	llvm_prepend_path "${LLVM_MAJOR}"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
-	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
-	strip-unsupported-flags
-
-	local mycmakeargs=(
-		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
-
-		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
-		-DCOMPILER_RT_BUILD_CRT=OFF
-		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-		-DCOMPILER_RT_BUILD_MEMPROF=OFF
-		-DCOMPILER_RT_BUILD_ORC=OFF
-		-DCOMPILER_RT_BUILD_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-		-DCOMPILER_RT_BUILD_XRAY=OFF
-
-		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-
-	# disable building non-native runtimes since we don't do multilib
-	if use amd64; then
-		mycmakeargs+=(
-			-DCAN_TARGET_i386=OFF
-		)
-	fi
-
-	if use test; then
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="$(get_lit_flags)"
-
-			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
-			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-src_compile() {
-	cmake_src_compile
-
-	local rtlib=$(
-		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
-			-print-libgcc-file-name || die
-	)
-
-	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
-	# combines compiler-rt and libunwind into a libgcc replacement.
-	#
-	# What we do here is similar to what upstream does[0], with the following
-	# differences:
-	#
-	# * We build the local copy of compiler-rt manually, to have a full control
-	#   over CMake options.
-	# * Upstream links the locally built copy of libunwind statically. We link the
-	#   system-wide libunwind dynamically.
-	#
-	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
-	"${CC}" -E -xc \
-		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
-		-o gcc_s.ver || die
-	"${CC}" -nostdlib \
-		${LDFLAGS} \
-		-Wl,--version-script,gcc_s.ver \
-		-Wl,--undefined-version \
-		-Wl,--whole-archive \
-		"${rtlib}" \
-		-Wl,-soname,libgcc_s.so.1.0 \
-		-lc -lunwind -shared \
-		-o libgcc_s.so.1.0 || die
-	cp "${rtlib}" libgcc.a || die
-}
-
-src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-
-	cmake_build check-builtins
-}
-
-src_install() {
-	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0
-	dolib.a libgcc.a
-	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
-	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
-}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-20 11:54 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-20 11:54 UTC (permalink / raw
  To: gentoo-commits

commit:     d3ff3873e70681ffa0b26322c53ed76771bee191
Author:     mojyack <mojyack <AT> gmail <DOT> com>
AuthorDate: Thu Feb 20 07:25:41 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 20 11:48:22 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3ff3873

llvm-runtimes/libgcc: Generate libgcc_s.so ldscript

The shared library (libgcc.so.1.0) which we build is dynamically linked
to libunwind. That is sufficient for runtime linking (running binaries
which are linked dynamically against libgcc.so.1.0, like binary Rust
toolchains), which is able to resolve the transitive dependency on
libunwind. But that's not sufficient for linking new binaries, where
the link editor doesn't accept transitive dependencies.

To be able to build binaries with `clang -nostdlib -lgcc_s`, we need to
provide a linker script.

Signed-off-by: mojyack <mojyack <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/40564
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 ...c-20.1.0_rc2.ebuild => libgcc-19.1.7-r1.ebuild} | 22 ++++++++++++++++++++--
 llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild      | 21 +++++++++++++++++++--
 llvm-runtimes/libgcc/libgcc-21.0.0.9999.ebuild     | 21 +++++++++++++++++++--
 3 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild b/llvm-runtimes/libgcc/libgcc-19.1.7-r1.ebuild
similarity index 86%
copy from llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild
copy to llvm-runtimes/libgcc/libgcc-19.1.7-r1.ebuild
index c1ca1f41c22a..d0a3126ebcf1 100644
--- a/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild
+++ b/llvm-runtimes/libgcc/libgcc-19.1.7-r1.ebuild
@@ -13,6 +13,7 @@ HOMEPAGE="https://llvm.org/"
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
+KEYWORDS="~amd64"
 IUSE="debug test"
 
 DEPEND="
@@ -103,6 +104,21 @@ src_configure() {
 	cmake_src_configure
 }
 
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
 src_compile() {
 	cmake_src_compile
 
@@ -135,6 +151,9 @@ src_compile() {
 		-Wl,-soname,libgcc_s.so.1.0 \
 		-lc -lunwind -shared \
 		-o libgcc_s.so.1.0 || die
+	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
+	# dependency so that `clang -lgcc_s` works out of the box.
+	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
 	cp "${rtlib}" libgcc.a || die
 }
 
@@ -147,9 +166,8 @@ src_test() {
 
 src_install() {
 	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0
+	dolib.so libgcc_s.so.1.0 libgcc_s.so
 	dolib.a libgcc.a
 	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
 	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
 }

diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild b/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild
index c1ca1f41c22a..2c2ae9d40376 100644
--- a/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild
+++ b/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild
@@ -103,6 +103,21 @@ src_configure() {
 	cmake_src_configure
 }
 
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
 src_compile() {
 	cmake_src_compile
 
@@ -135,6 +150,9 @@ src_compile() {
 		-Wl,-soname,libgcc_s.so.1.0 \
 		-lc -lunwind -shared \
 		-o libgcc_s.so.1.0 || die
+	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
+	# dependency so that `clang -lgcc_s` works out of the box.
+	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
 	cp "${rtlib}" libgcc.a || die
 }
 
@@ -147,9 +165,8 @@ src_test() {
 
 src_install() {
 	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0
+	dolib.so libgcc_s.so.1.0 libgcc_s.so
 	dolib.a libgcc.a
 	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
 	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
 }

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0.9999.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0.9999.ebuild
index c1ca1f41c22a..2c2ae9d40376 100644
--- a/llvm-runtimes/libgcc/libgcc-21.0.0.9999.ebuild
+++ b/llvm-runtimes/libgcc/libgcc-21.0.0.9999.ebuild
@@ -103,6 +103,21 @@ src_configure() {
 	cmake_src_configure
 }
 
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
 src_compile() {
 	cmake_src_compile
 
@@ -135,6 +150,9 @@ src_compile() {
 		-Wl,-soname,libgcc_s.so.1.0 \
 		-lc -lunwind -shared \
 		-o libgcc_s.so.1.0 || die
+	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
+	# dependency so that `clang -lgcc_s` works out of the box.
+	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
 	cp "${rtlib}" libgcc.a || die
 }
 
@@ -147,9 +165,8 @@ src_test() {
 
 src_install() {
 	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0
+	dolib.so libgcc_s.so.1.0 libgcc_s.so
 	dolib.a libgcc.a
 	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
 	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
 }


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-22 15:19 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-22 15:19 UTC (permalink / raw
  To: gentoo-commits

commit:     82fe355d27bf3014ea44d508afa9eb86b116c688
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 22 15:10:10 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 22 15:19:17 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82fe355d

llvm-runtimes/libgcc: Add 21.0.0_pre20250221 snapshot

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                      |   1 +
 .../libgcc/libgcc-21.0.0_pre20250221.ebuild        | 172 +++++++++++++++++++++
 2 files changed, 173 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index 34c45304addf..4b857ecd8e3b 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -3,4 +3,5 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf
 DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb
 DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce
 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
+DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5
 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250221.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250221.ebuild
new file mode 100644
index 000000000000..2c2ae9d40376
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250221.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
+	# dependency so that `clang -lgcc_s` works out of the box.
+	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0 libgcc_s.so
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-25 14:03 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-25 14:03 UTC (permalink / raw
  To: gentoo-commits

commit:     89a300da989cd0ed8ee1d2ced0fad4e6a7cc9eb1
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 25 12:50:22 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Feb 25 14:03:15 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89a300da

llvm-runtimes/libgcc: Add 21.0.0_pre20250225 snapshot

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                      |   1 +
 .../libgcc/libgcc-21.0.0_pre20250225.ebuild        | 172 +++++++++++++++++++++
 2 files changed, 173 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index 4b857ecd8e3b..906ceb66e070 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -5,3 +5,4 @@ DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5
 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
 DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5
 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb
+DIST llvm-project-d254fa877f419e61e54709f0a6f2e891da893a60.tar.gz 228028122 BLAKE2B 3321f3b205dfcd672d52122d7ba8e4e737916e01f5041a0dc140722f64359476632e036da0e0692cd366b080a073292cfdb4963e973bf800afabc20d06a2e86b SHA512 135c4864973b682cf41953d43d977eaa219a4a898fceb4b4a8cacbbc6a5dd271d26010b1db6c6c90e761bf3495036f3e7528ab259d48c9c4dc4a064332c0326f

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250225.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250225.ebuild
new file mode 100644
index 000000000000..2c2ae9d40376
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250225.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
+	# dependency so that `clang -lgcc_s` works out of the box.
+	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0 libgcc_s.so
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-02-26 18:55 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-02-26 18:55 UTC (permalink / raw
  To: gentoo-commits

commit:     66e67b0b124944ba364742a3d14e773a79683af0
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 26 18:51:22 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 26 18:55:23 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66e67b0b

llvm-runtimes/libgcc: Add 20.1.0_rc3

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                 |   2 +
 llvm-runtimes/libgcc/libgcc-20.1.0_rc3.ebuild | 172 ++++++++++++++++++++++++++
 2 files changed, 174 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index 906ceb66e070..c7c14b48236f 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -2,6 +2,8 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
 DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb
 DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce
+DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c
+DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8
 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
 DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5
 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb

diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0_rc3.ebuild b/llvm-runtimes/libgcc/libgcc-20.1.0_rc3.ebuild
new file mode 100644
index 000000000000..2c2ae9d40376
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-20.1.0_rc3.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
+	# dependency so that `clang -lgcc_s` works out of the box.
+	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0 libgcc_s.so
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-03-01  8:34 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-03-01  8:34 UTC (permalink / raw
  To: gentoo-commits

commit:     010bbb21ecce1c4c8a1247143c9621d3d587cbf1
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  1 08:32:55 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar  1 08:32:55 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=010bbb21

llvm-runtimes/libgcc: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                      |   5 -
 llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild      | 172 ---------------------
 .../libgcc/libgcc-21.0.0_pre20250211.ebuild        | 155 -------------------
 .../libgcc/libgcc-21.0.0_pre20250215.ebuild        | 155 -------------------
 .../libgcc/libgcc-21.0.0_pre20250221.ebuild        | 172 ---------------------
 5 files changed, 659 deletions(-)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index c7c14b48236f..853bde7367b1 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -1,10 +1,5 @@
 DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
-DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb
-DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce
 DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c
 DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8
-DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
-DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5
-DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb
 DIST llvm-project-d254fa877f419e61e54709f0a6f2e891da893a60.tar.gz 228028122 BLAKE2B 3321f3b205dfcd672d52122d7ba8e4e737916e01f5041a0dc140722f64359476632e036da0e0692cd366b080a073292cfdb4963e973bf800afabc20d06a2e86b SHA512 135c4864973b682cf41953d43d977eaa219a4a898fceb4b4a8cacbbc6a5dd271d26010b1db6c6c90e761bf3495036f3e7528ab259d48c9c4dc4a064332c0326f

diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild b/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild
deleted file mode 100644
index 2c2ae9d40376..000000000000
--- a/llvm-runtimes/libgcc/libgcc-20.1.0_rc2.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="debug test"
-
-DEPEND="
-	~llvm-runtimes/libunwind-${PV}[static-libs]
-"
-RDEPEND="
-	${DEPEND}
-	!sys-devel/gcc
-"
-BDEPEND="
-	llvm-core/clang:${LLVM_MAJOR}
-	test? (
-		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
-		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
-	)
-	!test? (
-		${PYTHON_DEPS}
-	)
-"
-
-LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
-LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
-llvm.org_set_globals
-
-python_check_deps() {
-	use test || return 0
-	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	if target_is_not_host || tc-is-cross-compiler ; then
-		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
-		CHOST=${CTARGET} strip-unsupported-flags
-		# overrides host docs otherwise
-		DOCS=()
-	fi
-	python-any-r1_pkg_setup
-}
-
-src_configure() {
-	# We need to build a separate copy of compiler-rt, because we need to disable the
-	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
-	# visibility of all symbols.
-
-	llvm_prepend_path "${LLVM_MAJOR}"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
-	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
-	strip-unsupported-flags
-
-	local mycmakeargs=(
-		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
-
-		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
-		-DCOMPILER_RT_BUILD_CRT=OFF
-		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-		-DCOMPILER_RT_BUILD_MEMPROF=OFF
-		-DCOMPILER_RT_BUILD_ORC=OFF
-		-DCOMPILER_RT_BUILD_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-		-DCOMPILER_RT_BUILD_XRAY=OFF
-
-		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-
-	# disable building non-native runtimes since we don't do multilib
-	if use amd64; then
-		mycmakeargs+=(
-			-DCAN_TARGET_i386=OFF
-		)
-	fi
-
-	if use test; then
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="$(get_lit_flags)"
-
-			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
-			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-src_compile() {
-	cmake_src_compile
-
-	local rtlib=$(
-		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
-			-print-libgcc-file-name || die
-	)
-
-	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
-	# combines compiler-rt and libunwind into a libgcc replacement.
-	#
-	# What we do here is similar to what upstream does[0], with the following
-	# differences:
-	#
-	# * We build the local copy of compiler-rt manually, to have a full control
-	#   over CMake options.
-	# * Upstream links the locally built copy of libunwind statically. We link the
-	#   system-wide libunwind dynamically.
-	#
-	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
-	"${CC}" -E -xc \
-		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
-		-o gcc_s.ver || die
-	"${CC}" -nostdlib \
-		${LDFLAGS} \
-		-Wl,--version-script,gcc_s.ver \
-		-Wl,--undefined-version \
-		-Wl,--whole-archive \
-		"${rtlib}" \
-		-Wl,-soname,libgcc_s.so.1.0 \
-		-lc -lunwind -shared \
-		-o libgcc_s.so.1.0 || die
-	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
-	# dependency so that `clang -lgcc_s` works out of the box.
-	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
-	cp "${rtlib}" libgcc.a || die
-}
-
-src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-
-	cmake_build check-builtins
-}
-
-src_install() {
-	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0 libgcc_s.so
-	dolib.a libgcc.a
-	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
-}

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250211.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250211.ebuild
deleted file mode 100644
index c1ca1f41c22a..000000000000
--- a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250211.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="debug test"
-
-DEPEND="
-	~llvm-runtimes/libunwind-${PV}[static-libs]
-"
-RDEPEND="
-	${DEPEND}
-	!sys-devel/gcc
-"
-BDEPEND="
-	llvm-core/clang:${LLVM_MAJOR}
-	test? (
-		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
-		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
-	)
-	!test? (
-		${PYTHON_DEPS}
-	)
-"
-
-LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
-LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
-llvm.org_set_globals
-
-python_check_deps() {
-	use test || return 0
-	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	if target_is_not_host || tc-is-cross-compiler ; then
-		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
-		CHOST=${CTARGET} strip-unsupported-flags
-		# overrides host docs otherwise
-		DOCS=()
-	fi
-	python-any-r1_pkg_setup
-}
-
-src_configure() {
-	# We need to build a separate copy of compiler-rt, because we need to disable the
-	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
-	# visibility of all symbols.
-
-	llvm_prepend_path "${LLVM_MAJOR}"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
-	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
-	strip-unsupported-flags
-
-	local mycmakeargs=(
-		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
-
-		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
-		-DCOMPILER_RT_BUILD_CRT=OFF
-		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-		-DCOMPILER_RT_BUILD_MEMPROF=OFF
-		-DCOMPILER_RT_BUILD_ORC=OFF
-		-DCOMPILER_RT_BUILD_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-		-DCOMPILER_RT_BUILD_XRAY=OFF
-
-		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-
-	# disable building non-native runtimes since we don't do multilib
-	if use amd64; then
-		mycmakeargs+=(
-			-DCAN_TARGET_i386=OFF
-		)
-	fi
-
-	if use test; then
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="$(get_lit_flags)"
-
-			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
-			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-src_compile() {
-	cmake_src_compile
-
-	local rtlib=$(
-		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
-			-print-libgcc-file-name || die
-	)
-
-	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
-	# combines compiler-rt and libunwind into a libgcc replacement.
-	#
-	# What we do here is similar to what upstream does[0], with the following
-	# differences:
-	#
-	# * We build the local copy of compiler-rt manually, to have a full control
-	#   over CMake options.
-	# * Upstream links the locally built copy of libunwind statically. We link the
-	#   system-wide libunwind dynamically.
-	#
-	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
-	"${CC}" -E -xc \
-		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
-		-o gcc_s.ver || die
-	"${CC}" -nostdlib \
-		${LDFLAGS} \
-		-Wl,--version-script,gcc_s.ver \
-		-Wl,--undefined-version \
-		-Wl,--whole-archive \
-		"${rtlib}" \
-		-Wl,-soname,libgcc_s.so.1.0 \
-		-lc -lunwind -shared \
-		-o libgcc_s.so.1.0 || die
-	cp "${rtlib}" libgcc.a || die
-}
-
-src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-
-	cmake_build check-builtins
-}
-
-src_install() {
-	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0
-	dolib.a libgcc.a
-	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
-	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
-}

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250215.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250215.ebuild
deleted file mode 100644
index c1ca1f41c22a..000000000000
--- a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250215.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="debug test"
-
-DEPEND="
-	~llvm-runtimes/libunwind-${PV}[static-libs]
-"
-RDEPEND="
-	${DEPEND}
-	!sys-devel/gcc
-"
-BDEPEND="
-	llvm-core/clang:${LLVM_MAJOR}
-	test? (
-		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
-		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
-	)
-	!test? (
-		${PYTHON_DEPS}
-	)
-"
-
-LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
-LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
-llvm.org_set_globals
-
-python_check_deps() {
-	use test || return 0
-	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	if target_is_not_host || tc-is-cross-compiler ; then
-		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
-		CHOST=${CTARGET} strip-unsupported-flags
-		# overrides host docs otherwise
-		DOCS=()
-	fi
-	python-any-r1_pkg_setup
-}
-
-src_configure() {
-	# We need to build a separate copy of compiler-rt, because we need to disable the
-	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
-	# visibility of all symbols.
-
-	llvm_prepend_path "${LLVM_MAJOR}"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
-	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
-	strip-unsupported-flags
-
-	local mycmakeargs=(
-		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
-
-		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
-		-DCOMPILER_RT_BUILD_CRT=OFF
-		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-		-DCOMPILER_RT_BUILD_MEMPROF=OFF
-		-DCOMPILER_RT_BUILD_ORC=OFF
-		-DCOMPILER_RT_BUILD_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-		-DCOMPILER_RT_BUILD_XRAY=OFF
-
-		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-
-	# disable building non-native runtimes since we don't do multilib
-	if use amd64; then
-		mycmakeargs+=(
-			-DCAN_TARGET_i386=OFF
-		)
-	fi
-
-	if use test; then
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="$(get_lit_flags)"
-
-			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
-			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-src_compile() {
-	cmake_src_compile
-
-	local rtlib=$(
-		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
-			-print-libgcc-file-name || die
-	)
-
-	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
-	# combines compiler-rt and libunwind into a libgcc replacement.
-	#
-	# What we do here is similar to what upstream does[0], with the following
-	# differences:
-	#
-	# * We build the local copy of compiler-rt manually, to have a full control
-	#   over CMake options.
-	# * Upstream links the locally built copy of libunwind statically. We link the
-	#   system-wide libunwind dynamically.
-	#
-	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
-	"${CC}" -E -xc \
-		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
-		-o gcc_s.ver || die
-	"${CC}" -nostdlib \
-		${LDFLAGS} \
-		-Wl,--version-script,gcc_s.ver \
-		-Wl,--undefined-version \
-		-Wl,--whole-archive \
-		"${rtlib}" \
-		-Wl,-soname,libgcc_s.so.1.0 \
-		-lc -lunwind -shared \
-		-o libgcc_s.so.1.0 || die
-	cp "${rtlib}" libgcc.a || die
-}
-
-src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-
-	cmake_build check-builtins
-}
-
-src_install() {
-	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0
-	dolib.a libgcc.a
-	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libgcc_s.so.1 "/usr/${libdir}/libgcc_s.so"
-	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
-}

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250221.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250221.ebuild
deleted file mode 100644
index 2c2ae9d40376..000000000000
--- a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250221.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="debug test"
-
-DEPEND="
-	~llvm-runtimes/libunwind-${PV}[static-libs]
-"
-RDEPEND="
-	${DEPEND}
-	!sys-devel/gcc
-"
-BDEPEND="
-	llvm-core/clang:${LLVM_MAJOR}
-	test? (
-		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
-		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
-	)
-	!test? (
-		${PYTHON_DEPS}
-	)
-"
-
-LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
-LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
-llvm.org_set_globals
-
-python_check_deps() {
-	use test || return 0
-	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	if target_is_not_host || tc-is-cross-compiler ; then
-		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
-		CHOST=${CTARGET} strip-unsupported-flags
-		# overrides host docs otherwise
-		DOCS=()
-	fi
-	python-any-r1_pkg_setup
-}
-
-src_configure() {
-	# We need to build a separate copy of compiler-rt, because we need to disable the
-	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
-	# visibility of all symbols.
-
-	llvm_prepend_path "${LLVM_MAJOR}"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
-	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
-	strip-unsupported-flags
-
-	local mycmakeargs=(
-		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
-
-		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
-		-DCOMPILER_RT_BUILD_CRT=OFF
-		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-		-DCOMPILER_RT_BUILD_MEMPROF=OFF
-		-DCOMPILER_RT_BUILD_ORC=OFF
-		-DCOMPILER_RT_BUILD_PROFILE=OFF
-		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-		-DCOMPILER_RT_BUILD_XRAY=OFF
-
-		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-
-	# disable building non-native runtimes since we don't do multilib
-	if use amd64; then
-		mycmakeargs+=(
-			-DCAN_TARGET_i386=OFF
-		)
-	fi
-
-	if use test; then
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-			-DLLVM_LIT_ARGS="$(get_lit_flags)"
-
-			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
-			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-src_compile() {
-	cmake_src_compile
-
-	local rtlib=$(
-		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
-			-print-libgcc-file-name || die
-	)
-
-	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
-	# combines compiler-rt and libunwind into a libgcc replacement.
-	#
-	# What we do here is similar to what upstream does[0], with the following
-	# differences:
-	#
-	# * We build the local copy of compiler-rt manually, to have a full control
-	#   over CMake options.
-	# * Upstream links the locally built copy of libunwind statically. We link the
-	#   system-wide libunwind dynamically.
-	#
-	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
-	"${CC}" -E -xc \
-		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
-		-o gcc_s.ver || die
-	"${CC}" -nostdlib \
-		${LDFLAGS} \
-		-Wl,--version-script,gcc_s.ver \
-		-Wl,--undefined-version \
-		-Wl,--whole-archive \
-		"${rtlib}" \
-		-Wl,-soname,libgcc_s.so.1.0 \
-		-lc -lunwind -shared \
-		-o libgcc_s.so.1.0 || die
-	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
-	# dependency so that `clang -lgcc_s` works out of the box.
-	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
-	cp "${rtlib}" libgcc.a || die
-}
-
-src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-
-	cmake_build check-builtins
-}
-
-src_install() {
-	local libdir=$(get_libdir)
-	dolib.so libgcc_s.so.1.0 libgcc_s.so
-	dolib.a libgcc.a
-	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
-	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
-}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-03-01 12:58 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-03-01 12:58 UTC (permalink / raw
  To: gentoo-commits

commit:     15f33ac443b4dd3002ae828178416c2c5711b2db
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  1 12:56:26 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar  1 12:58:32 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15f33ac4

llvm-runtimes/libgcc: Add 21.0.0_pre20250301 snapshot

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest                      |   1 +
 .../libgcc/libgcc-21.0.0_pre20250301.ebuild        | 172 +++++++++++++++++++++
 2 files changed, 173 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index 853bde7367b1..5c18cc14aa65 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -2,4 +2,5 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
 DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c
 DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8
+DIST llvm-project-7e8a06cfa4a2951b8ee77e19e34926e6e535b4d1.tar.gz 228792296 BLAKE2B cd9357bdca9342770820f9fadfbd0b129a83324847f18e2ebac1fed8df4afb101aba2dc19d90264ae1e2d5692e34149ca24ef82a4973e7aeddb157268bb411b6 SHA512 9821a34a559e1db596940d76ce9388360baea43c1a9de814f567bfcf1428a0c6e3ced61b1e07537058454785d9c3aa3f443cbcf742a01fb40dd20b476a906442
 DIST llvm-project-d254fa877f419e61e54709f0a6f2e891da893a60.tar.gz 228028122 BLAKE2B 3321f3b205dfcd672d52122d7ba8e4e737916e01f5041a0dc140722f64359476632e036da0e0692cd366b080a073292cfdb4963e973bf800afabc20d06a2e86b SHA512 135c4864973b682cf41953d43d977eaa219a4a898fceb4b4a8cacbbc6a5dd271d26010b1db6c6c90e761bf3495036f3e7528ab259d48c9c4dc4a064332c0326f

diff --git a/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250301.ebuild b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250301.ebuild
new file mode 100644
index 000000000000..2c2ae9d40376
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-21.0.0_pre20250301.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
+	# dependency so that `clang -lgcc_s` works out of the box.
+	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0 libgcc_s.so
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-03-05  6:25 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-03-05  6:25 UTC (permalink / raw
  To: gentoo-commits

commit:     48b496acddee7be1a8fdab8f8e33d7de68b63b18
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  5 06:13:34 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar  5 06:13:34 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48b496ac

llvm-runtimes/libgcc: Add 20.1.0 (unkeyworded)

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/Manifest             |   2 +
 llvm-runtimes/libgcc/libgcc-20.1.0.ebuild | 172 ++++++++++++++++++++++++++++++
 2 files changed, 174 insertions(+)

diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index 5c18cc14aa65..c54fa6dc779b 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -2,5 +2,7 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
 DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c
 DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8
+DIST llvm-project-20.1.0.src.tar.xz 147206476 BLAKE2B 8e8bd8aa995a84d17ac7d634098a6b72a47c30f1752029b620f4541a2de4039edf09117286094ae7bc59c4e84374dcffb8e5ee6ef5feaf4ea7ddb58dd04ea803 SHA512 c90fbc43c40e148357912adc40d799a79cce3d3a929136c137421f6342ed7338659e651f1dedfa8e10b94b9f2897e25b2962e17709add02857f89f10615a2397
+DIST llvm-project-20.1.0.src.tar.xz.sig 566 BLAKE2B 98979ce89f3fe6e95eef6096066cf855245a585608e7d1fddb5bbb2c73077f3ee28204260e18d7e45e3051daae3639520c39bc3d0dc51524873ac213e2511456 SHA512 68da1c2a13aaa48a67bbb9e716f9f030cf372edc651bca2861453378a6a9172a207ff59e29b175001f042888bf1f9c118fbf938f757e1f4c966943baa7e2696a
 DIST llvm-project-7e8a06cfa4a2951b8ee77e19e34926e6e535b4d1.tar.gz 228792296 BLAKE2B cd9357bdca9342770820f9fadfbd0b129a83324847f18e2ebac1fed8df4afb101aba2dc19d90264ae1e2d5692e34149ca24ef82a4973e7aeddb157268bb411b6 SHA512 9821a34a559e1db596940d76ce9388360baea43c1a9de814f567bfcf1428a0c6e3ced61b1e07537058454785d9c3aa3f443cbcf742a01fb40dd20b476a906442
 DIST llvm-project-d254fa877f419e61e54709f0a6f2e891da893a60.tar.gz 228028122 BLAKE2B 3321f3b205dfcd672d52122d7ba8e4e737916e01f5041a0dc140722f64359476632e036da0e0692cd366b080a073292cfdb4963e973bf800afabc20d06a2e86b SHA512 135c4864973b682cf41953d43d977eaa219a4a898fceb4b4a8cacbbc6a5dd271d26010b1db6c6c90e761bf3495036f3e7528ab259d48c9c4dc4a064332c0326f

diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0.ebuild b/llvm-runtimes/libgcc/libgcc-20.1.0.ebuild
new file mode 100644
index 000000000000..2c2ae9d40376
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-20.1.0.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+	~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+	${DEPEND}
+	!sys-devel/gcc
+"
+BDEPEND="
+	llvm-core/clang:${LLVM_MAJOR}
+	test? (
+		$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+		=llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+	)
+	!test? (
+		${PYTHON_DEPS}
+	)
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+	use test || return 0
+	python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if target_is_not_host || tc-is-cross-compiler ; then
+		# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+		CHOST=${CTARGET} strip-unsupported-flags
+		# overrides host docs otherwise
+		DOCS=()
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_configure() {
+	# We need to build a separate copy of compiler-rt, because we need to disable the
+	# COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+	# visibility of all symbols.
+
+	llvm_prepend_path "${LLVM_MAJOR}"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+	export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+	strip-unsupported-flags
+
+	local mycmakeargs=(
+		-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+		-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+		-DCOMPILER_RT_BUILD_CRT=OFF
+		-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+		-DCOMPILER_RT_BUILD_MEMPROF=OFF
+		-DCOMPILER_RT_BUILD_ORC=OFF
+		-DCOMPILER_RT_BUILD_PROFILE=OFF
+		-DCOMPILER_RT_BUILD_SANITIZERS=OFF
+		-DCOMPILER_RT_BUILD_XRAY=OFF
+
+		-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+
+	# disable building non-native runtimes since we don't do multilib
+	if use amd64; then
+		mycmakeargs+=(
+			-DCAN_TARGET_i386=OFF
+		)
+	fi
+
+	if use test; then
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+			-DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+			-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+			-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+   Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local rtlib=$(
+		"${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+			-print-libgcc-file-name || die
+	)
+
+	# Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+	# combines compiler-rt and libunwind into a libgcc replacement.
+	#
+	# What we do here is similar to what upstream does[0], with the following
+	# differences:
+	#
+	# * We build the local copy of compiler-rt manually, to have a full control
+	#   over CMake options.
+	# * Upstream links the locally built copy of libunwind statically. We link the
+	#   system-wide libunwind dynamically.
+	#
+	# [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+	"${CC}" -E -xc \
+		"${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+		-o gcc_s.ver || die
+	"${CC}" -nostdlib \
+		${LDFLAGS} \
+		-Wl,--version-script,gcc_s.ver \
+		-Wl,--undefined-version \
+		-Wl,--whole-archive \
+		"${rtlib}" \
+		-Wl,-soname,libgcc_s.so.1.0 \
+		-lc -lunwind -shared \
+		-o libgcc_s.so.1.0 || die
+	# Generate libgcc_s.so ldscript for inclusion of libunwind as a
+	# dependency so that `clang -lgcc_s` works out of the box.
+	gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
+	cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+
+	cmake_build check-builtins
+}
+
+src_install() {
+	local libdir=$(get_libdir)
+	dolib.so libgcc_s.so.1.0 libgcc_s.so
+	dolib.a libgcc.a
+	dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+	dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/
@ 2025-03-05 10:13 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2025-03-05 10:13 UTC (permalink / raw
  To: gentoo-commits

commit:     c281a546e455c6f8c4c1087666e90c87b553c206
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  5 10:01:41 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar  5 10:13:01 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c281a546

llvm-runtimes/libgcc: Add keywords to 20.1.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libgcc/libgcc-20.1.0.ebuild | 1 +
 1 file changed, 1 insertion(+)

diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0.ebuild b/llvm-runtimes/libgcc/libgcc-20.1.0.ebuild
index 2c2ae9d40376..d0a3126ebcf1 100644
--- a/llvm-runtimes/libgcc/libgcc-20.1.0.ebuild
+++ b/llvm-runtimes/libgcc/libgcc-20.1.0.ebuild
@@ -13,6 +13,7 @@ HOMEPAGE="https://llvm.org/"
 
 LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
 SLOT="0"
+KEYWORDS="~amd64"
 IUSE="debug test"
 
 DEPEND="


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-03-05 10:13 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-26 18:55 [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libgcc/ Michał Górny
  -- strict thread matches above, loose matches on Subject: below --
2025-03-05 10:13 Michał Górny
2025-03-05  6:25 Michał Górny
2025-03-01 12:58 Michał Górny
2025-03-01  8:34 Michał Górny
2025-02-25 14:03 Michał Górny
2025-02-22 15:19 Michał Górny
2025-02-20 11:54 Michał Górny
2025-02-15  7:19 Michał Górny
2025-02-13  7:53 Michał Górny
2025-02-11 11:29 Michał Górny
2025-02-08 11:51 Michał Górny
2025-02-02 18:25 Michał Górny
2025-02-01 13:15 Michał Górny
2025-02-01  8:05 Michał Górny
2025-01-26 20:01 Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox