[PATCH v2] libstdc++-v3: Enable features for RTEMS (based on GCC 15)
Joel Sherrill
joel@rtems.org
Mon Oct 13 19:05:32 GMT 2025
RTEMS has carried this patch for too long and it was posted to gcc-patches
last month.
Any commits rom libstdc++ folks or is it OK to commit?
Thanks.
--joel
On Wed, Oct 1, 2025 at 3:44 PM Joel Sherrill <joel@rtems.org> wrote:
> From: Chris Johns <chrisj@rtems.org>
>
> libstdc++-v3/ChangeLog:
>
> * configure: Regenerate.
> * configure.ac (newlib, *-rtems*): Add HAVE_SYS_IOCTL_H,
> HAVE_SYS_STAT_H, HAVE_SYS_TYPES_H, HAVE_S_ISREG, HAVE_UNISTD_H,
> HAVE_UNLINKAT, _GLIBCXX_USE_CHMOD, _GLIBCXX_USE_MKDIR,
> _GLIBCXX_USE_CHDIR, _GLIBCXX_USE_GETCWD, _GLIBCXX_USE_UTIME,
> _GLIBCXX_USE_LINK, _GLIBCXX_USE_READLINK, _GLIBCXX_USE_SYMLINK,
> _GLIBCXX_USE_TRUNCATE and _GLIBCXX_USE_FDOPENDIR.
> ---
> libstdc++-v3/configure | 44 ++++++++++++++++++++++++++++++++++++++-
> libstdc++-v3/configure.ac | 21 +++++++++++++++++++
> 2 files changed, 64 insertions(+), 1 deletion(-)
>
> diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
> index c0eaeb97c49..8afd946ca50 100755
> --- a/libstdc++-v3/configure
> +++ b/libstdc++-v3/configure
> @@ -28369,6 +28369,14 @@ rm -f core conftest.err conftest.$ac_objext
> conftest.$ac_ext
>
> $as_echo "#define HAVE_LINK 1" >>confdefs.h
>
> + $as_echo "#define HAVE_SYS_IOCT4YL_H 1" >>confdefs.h
> +
> + $as_echo "#define HAVE_SYS_STAT_H 1" >>confdefs.h
> +
> + $as_echo "#define HAVE_SYS_TYPES_H 1" >>confdefs.h
> +
> + $as_echo "#define HAVE_S_ISREG 1" >>confdefs.h
> +
> $as_echo "#define HAVE_QUICK_EXIT 1" >>confdefs.h
>
> $as_echo "#define HAVE_READLINK 1" >>confdefs.h
> @@ -28383,8 +28391,42 @@ rm -f core conftest.err conftest.$ac_objext
> conftest.$ac_ext
>
> $as_echo "#define HAVE_SYMLINK 1" >>confdefs.h
>
> + $as_echo "#define HAVE_SYS_IOCT4YL_H 1" >>confdefs.h
> +
> + $as_echo "#define HAVE_SYS_STAT_H 1" >>confdefs.h
> +
> + $as_echo "#define HAVE_SYS_TYPES_H 1" >>confdefs.h
> +
> + $as_echo "#define HAVE_S_ISREG 1" >>confdefs.h
> +
> $as_echo "#define HAVE_TRUNCATE 1" >>confdefs.h
>
> + $as_echo "#define HAVE_UNISTD_H 1" >>confdefs.h
> +
> + $as_echo "#define HAVE_UNLINKAT 1" >>confdefs.h
> +
> + $as_echo "#define HAVE_USLEEP 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_CHMOD 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_MKDIR 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_CHDIR 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_GETCWD 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_UTIME 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_LINK 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_READLINK 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_SYMLINK 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_TRUNCATE 1" >>confdefs.h
> +
> + $as_echo "#define _GLIBCXX_USE_FDOPENDIR 1" >>confdefs.h
> +
> $as_echo "#define HAVE_USLEEP 1" >>confdefs.h
>
>
> @@ -53544,7 +53586,7 @@ $as_echo "$glibcxx_cv_libbacktrace_atomics" >&6; }
> CXXFLAGS='-O0 -S'
>
> cat > conftest.$ac_ext << EOF
> -#line 53547 "configure"
> +#line 53589 "configure"
> #include <stddef.h>
> int main()
> {
> diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
> index 0bf219174fe..02b86ae8c44 100644
> --- a/libstdc++-v3/configure.ac
> +++ b/libstdc++-v3/configure.ac
> @@ -399,6 +399,10 @@ dnl # rather than hardcoding that information.
> AC_DEFINE(HAVE_ALIGNED_ALLOC)
> AC_DEFINE(HAVE_AT_QUICK_EXIT)
> AC_DEFINE(HAVE_LINK)
> + AC_DEFINE(HAVE_SYS_IOCT4YL_H)
> + AC_DEFINE(HAVE_SYS_STAT_H)
> + AC_DEFINE(HAVE_SYS_TYPES_H)
> + AC_DEFINE(HAVE_S_ISREG)
> AC_DEFINE(HAVE_QUICK_EXIT)
> AC_DEFINE(HAVE_READLINK)
> AC_DEFINE(HAVE_SETENV)
> @@ -406,7 +410,24 @@ dnl # rather than hardcoding that information.
> AC_DEFINE(HAVE_SOCKATMARK)
> AC_DEFINE(HAVE_STRERROR_L)
> AC_DEFINE(HAVE_SYMLINK)
> + AC_DEFINE(HAVE_SYS_IOCT4YL_H)
> + AC_DEFINE(HAVE_SYS_STAT_H)
> + AC_DEFINE(HAVE_SYS_TYPES_H)
> + AC_DEFINE(HAVE_S_ISREG)
> AC_DEFINE(HAVE_TRUNCATE)
> + AC_DEFINE(HAVE_UNISTD_H)
> + AC_DEFINE(HAVE_UNLINKAT)
> + AC_DEFINE(HAVE_USLEEP)
> + AC_DEFINE(_GLIBCXX_USE_CHMOD)
> + AC_DEFINE(_GLIBCXX_USE_MKDIR)
> + AC_DEFINE(_GLIBCXX_USE_CHDIR)
> + AC_DEFINE(_GLIBCXX_USE_GETCWD)
> + AC_DEFINE(_GLIBCXX_USE_UTIME)
> + AC_DEFINE(_GLIBCXX_USE_LINK)
> + AC_DEFINE(_GLIBCXX_USE_READLINK)
> + AC_DEFINE(_GLIBCXX_USE_SYMLINK)
> + AC_DEFINE(_GLIBCXX_USE_TRUNCATE)
> + AC_DEFINE(_GLIBCXX_USE_FDOPENDIR)
> AC_DEFINE(HAVE_USLEEP)
>
> # These functions are defined in librtemscpu. We don't use
> --
> 2.47.3
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20251013/d4d9e41c/attachment-0001.htm>
More information about the Libstdc++
mailing list