Hi!
On 2025-03-14T11:39:20+0100, I wrote:
> Subject: [PATCH] GCN, nvptx: Allow for "hosted" libstdc++ build
>
> We need [...], and
> for nvptx twiddle some more knobs.
> --- /dev/null
> +++ b/libstdc++-v3/config/cpu/nvptx/t-nvptx
> @@ -0,0 +1,7 @@
> +# Per-file flags, see '../../../configure.host', "inject per-file flags".
> +
> +# 'ptxas'/CUDA Driver rejects objects with a lot of global constant data:
> +# ptxas error : File uses too much global constant data ([...])
> +# Cut short the assembly-time check; defer to actual use of the object file.
> +AM_MAKEFLAGS += CXXFLAGS-src/c++17/floating_to_chars.lo=-Wa,--no-verify
> +AM_MAKEFLAGS += CXXFLAGS-src/c++20/tzdb.lo=-Wa,--no-verify
This use is gone as of commit 5deeae29dab2af64e3342daf7a30000e424c64ea
"nvptx: Don't use PTX '.const', constant state space [PR119573]", so...
> --- a/libstdc++-v3/configure.host
> +++ b/libstdc++-v3/configure.host
> + nvptx-*-none)
> + # For 'make all-target-libstdc++-v3', we need to inject per-file flags:
> + OPTIMIZE_CXXFLAGS="${OPTIMIZE_CXXFLAGS} \$(CXXFLAGS-\$(subdir)/\$@)"
> + # ..., see:
> + tmake_file="$tmake_file cpu/nvptx/t-nvptx"
... this is not necessary anymore, and I've pushed to trunk branch
commit 287f360b3e75a19c48ee14c71f51b6e7968474ef
"libstdc++, nvptx: Remove machinery to inject per-file flags", see
attached.
Grüße
Thomas
>From 287f360b3e75a19c48ee14c71f51b6e7968474ef Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <[email protected]>
Date: Wed, 2 Apr 2025 11:05:08 +0200
Subject: [PATCH] libstdc++, nvptx: Remove machinery to inject per-file flags
Not used anymore.
libstdc++-v3/
* config/cpu/nvptx/t-nvptx: Remove.
* configure.host [nvptx]: Adjust.
---
libstdc++-v3/config/cpu/nvptx/t-nvptx | 1 -
libstdc++-v3/configure.host | 5 -----
2 files changed, 6 deletions(-)
delete mode 100644 libstdc++-v3/config/cpu/nvptx/t-nvptx
diff --git a/libstdc++-v3/config/cpu/nvptx/t-nvptx b/libstdc++-v3/config/cpu/nvptx/t-nvptx
deleted file mode 100644
index eacc5468d627..000000000000
--- a/libstdc++-v3/config/cpu/nvptx/t-nvptx
+++ /dev/null
@@ -1 +0,0 @@
-# Per-file flags, see '../../../configure.host', "inject per-file flags".
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
index 0bed9dfff957..8375764bf4dc 100644
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -374,11 +374,6 @@ case "${host}" in
port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
;;
nvptx-*-none)
- # For 'make all-target-libstdc++-v3', we need to inject per-file flags:
- OPTIMIZE_CXXFLAGS="${OPTIMIZE_CXXFLAGS} \$(CXXFLAGS-\$(subdir)/\$@)"
- # ..., see:
- tmake_file="$tmake_file cpu/nvptx/t-nvptx"
-
# For 'make all-target-libstdc++-v3', re 'alloca'/VLA usage:
EXTRA_CFLAGS="${EXTRA_CFLAGS} -mfake-ptx-alloca"
OPTIMIZE_CXXFLAGS="${OPTIMIZE_CXXFLAGS} -mfake-ptx-alloca"
--
2.34.1