diff mbox series

[libstdc++-v3,rtems] enable filesystem support

Message ID or34pzlwnb.fsf@lxoliva.fsfla.org
State New
Headers show
Series [libstdc++-v3,rtems] enable filesystem support | expand

Commit Message

Alexandre Oliva May 30, 2024, 5:02 a.m. UTC
mkdir, chdir and chmod functions are defined in librtemscpu, that
doesn't get linked in during libstdc++-v3 configure, but applications
use -qrtems for linking, which brings those symbols in, so it makes
sense to mark them as available so that the C++ filesystem APIs are
enabled.

Regstrapped on x86_64-linux-gnu, also tested on aarch64-rtems6 with
gcc-13.  Ok to install?


for  libstdc++-v3/ChangeLog

	* configure.ac [*-*-rtems*]: Set chdir, chmod and mkdir as
	available.
	* configure: Rebuilt.
---
 libstdc++-v3/configure    |    7 +++++++
 libstdc++-v3/configure.ac |    7 +++++++
 2 files changed, 14 insertions(+)

Comments

Jonathan Wakely May 30, 2024, 6:35 a.m. UTC | #1
On Thu, 30 May 2024, 06:03 Alexandre Oliva, <oliva@adacore.com> wrote:

>
> mkdir, chdir and chmod functions are defined in librtemscpu, that
> doesn't get linked in during libstdc++-v3 configure, but applications
> use -qrtems for linking, which brings those symbols in, so it makes
> sense to mark them as available so that the C++ filesystem APIs are
> enabled.
>
> Regstrapped on x86_64-linux-gnu, also tested on aarch64-rtems6 with
> gcc-13.  Ok to install?
>
>
> for  libstdc++-v3/ChangeLog
>
>         * configure.ac [*-*-rtems*]: Set chdir, chmod and mkdir as
>         available.
>         * configure: Rebuilt.
> ---
>  libstdc++-v3/configure    |    7 +++++++
>  libstdc++-v3/configure.ac |    7 +++++++
>  2 files changed, 14 insertions(+)
>
> diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
> index 5179cc507f129..a7d1c015906c2 100755
> --- a/libstdc++-v3/configure
> +++ b/libstdc++-v3/configure
> @@ -28610,6 +28610,13 @@ _ACEOF
>
>          $as_echo "#define HAVE_USLEEP 1" >>confdefs.h
>
> +
> +       # These functions are defined in librtempscpu.  We don't use
> +       # -qrtems during configure, so we don't link that in, and fail
> +       # to find them.
> +       glibcxx_cv_chdir=yes
> +       glibcxx_cv_chmod=yes
> +       glibcxx_cv_mkdir=yes
>          ;;
>      esac
>    elif test "x$with_headers" != "xno"; then
> diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
> index 37396bd6ebbe6..0725c81bc9fa4 100644
> --- a/libstdc++-v3/configure.ac
> +++ b/libstdc++-v3/configure.ac
> @@ -400,6 +400,13 @@ dnl # rather than hardcoding that information.
>          AC_DEFINE(HAVE_SYMLINK)
>          AC_DEFINE(HAVE_TRUNCATE)
>          AC_DEFINE(HAVE_USLEEP)
> +
> +       # These functions are defined in librtempscpu.  We don't use
>

Typo here, "rtemps"?

OK with that fixed (and configure regenerated).



+       # -qrtems during configure, so we don't link that in, and fail
> +       # to find them.

+       glibcxx_cv_chdir=yes
> +       glibcxx_cv_chmod=yes
> +       glibcxx_cv_mkdir=yes
>          ;;
>      esac
>    elif test "x$with_headers" != "xno"; then
>
>
> --
> Alexandre Oliva, happy hacker            https://FSFLA.org/blogs/lxo/
>    Free Software Activist                   GNU Toolchain Engineer
> More tolerance and less prejudice are key for inclusion and diversity
> Excluding neuro-others for not behaving ""normal"" is *not* inclusive
>
Alexandre Oliva May 30, 2024, 8:18 a.m. UTC | #2
On May 30, 2024, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:

> Typo here, "rtemps"?

Ugh, thanks, fixed.

> OK with that fixed (and configure regenerated).

I also untabified the new lines, to match the surrounding context.
Here's what I installed:

[libstdc++-v3] [rtems] enable filesystem support

mkdir, chdir and chmod functions are defined in librtemscpu, that
doesn't get linked in during libstdc++-v3 configure, but applications
use -qrtems for linking, which brings those symbols in, so it makes
sense to mark them as available so that the C++ filesystem APIs are
enabled.


for  libstdc++-v3/ChangeLog

	* configure.ac [*-*-rtems*]: Set chdir, chmod and mkdir as
	available.
	* configure: Rebuilt.
---
 libstdc++-v3/configure    |    7 +++++++
 libstdc++-v3/configure.ac |    7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 5179cc507f129..5645e991af7ab 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -28610,6 +28610,13 @@ _ACEOF
 
         $as_echo "#define HAVE_USLEEP 1" >>confdefs.h
 
+
+        # These functions are defined in librtemscpu.  We don't use
+        # -qrtems during configure, so we don't link that in, and fail
+        # to find them.
+        glibcxx_cv_chdir=yes
+        glibcxx_cv_chmod=yes
+        glibcxx_cv_mkdir=yes
         ;;
     esac
   elif test "x$with_headers" != "xno"; then
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 37396bd6ebbe6..ccb24a82be799 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -400,6 +400,13 @@ dnl # rather than hardcoding that information.
         AC_DEFINE(HAVE_SYMLINK)
         AC_DEFINE(HAVE_TRUNCATE)
         AC_DEFINE(HAVE_USLEEP)
+
+        # These functions are defined in librtemscpu.  We don't use
+        # -qrtems during configure, so we don't link that in, and fail
+        # to find them.
+        glibcxx_cv_chdir=yes
+        glibcxx_cv_chmod=yes
+        glibcxx_cv_mkdir=yes
         ;;
     esac
   elif test "x$with_headers" != "xno"; then
Jonathan Wakely May 30, 2024, 9:47 a.m. UTC | #3
Thanks.

I got bounces from oarcorp.com and rtems.org, are the details in
MAINTAINERS out of date for Joel and Ralf?

On Thu, 30 May 2024 at 09:19, Alexandre Oliva <oliva@adacore.com> wrote:
>
> On May 30, 2024, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
>
> > Typo here, "rtemps"?
>
> Ugh, thanks, fixed.
>
> > OK with that fixed (and configure regenerated).
>
> I also untabified the new lines, to match the surrounding context.
> Here's what I installed:
>
> [libstdc++-v3] [rtems] enable filesystem support
>
> mkdir, chdir and chmod functions are defined in librtemscpu, that
> doesn't get linked in during libstdc++-v3 configure, but applications
> use -qrtems for linking, which brings those symbols in, so it makes
> sense to mark them as available so that the C++ filesystem APIs are
> enabled.
>
>
> for  libstdc++-v3/ChangeLog
>
>         * configure.ac [*-*-rtems*]: Set chdir, chmod and mkdir as
>         available.
>         * configure: Rebuilt.
> ---
>  libstdc++-v3/configure    |    7 +++++++
>  libstdc++-v3/configure.ac |    7 +++++++
>  2 files changed, 14 insertions(+)
>
> diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
> index 5179cc507f129..5645e991af7ab 100755
> --- a/libstdc++-v3/configure
> +++ b/libstdc++-v3/configure
> @@ -28610,6 +28610,13 @@ _ACEOF
>
>          $as_echo "#define HAVE_USLEEP 1" >>confdefs.h
>
> +
> +        # These functions are defined in librtemscpu.  We don't use
> +        # -qrtems during configure, so we don't link that in, and fail
> +        # to find them.
> +        glibcxx_cv_chdir=yes
> +        glibcxx_cv_chmod=yes
> +        glibcxx_cv_mkdir=yes
>          ;;
>      esac
>    elif test "x$with_headers" != "xno"; then
> diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
> index 37396bd6ebbe6..ccb24a82be799 100644
> --- a/libstdc++-v3/configure.ac
> +++ b/libstdc++-v3/configure.ac
> @@ -400,6 +400,13 @@ dnl # rather than hardcoding that information.
>          AC_DEFINE(HAVE_SYMLINK)
>          AC_DEFINE(HAVE_TRUNCATE)
>          AC_DEFINE(HAVE_USLEEP)
> +
> +        # These functions are defined in librtemscpu.  We don't use
> +        # -qrtems during configure, so we don't link that in, and fail
> +        # to find them.
> +        glibcxx_cv_chdir=yes
> +        glibcxx_cv_chmod=yes
> +        glibcxx_cv_mkdir=yes
>          ;;
>      esac
>    elif test "x$with_headers" != "xno"; then
>
>
> --
> Alexandre Oliva, happy hacker            https://FSFLA.org/blogs/lxo/
>    Free Software Activist                   GNU Toolchain Engineer
> More tolerance and less prejudice are key for inclusion and diversity
> Excluding neuro-others for not behaving ""normal"" is *not* inclusive
>
Alexandre Oliva July 27, 2024, 8:14 a.m. UTC | #4
Hello, Jonathan,

ISTM I've failed to answer, sorry

On May 30, 2024, Jonathan Wakely <jwakely@redhat.com> wrote:

> I got bounces from oarcorp.com and rtems.org, are the details in
> MAINTAINERS out of date for Joel and Ralf?

I got bounces as well back then.  I don't know whether this means the
addresses were outdated or temporarily unusable.
diff mbox series

Patch

diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 5179cc507f129..a7d1c015906c2 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -28610,6 +28610,13 @@  _ACEOF
 
         $as_echo "#define HAVE_USLEEP 1" >>confdefs.h
 
+
+	# These functions are defined in librtempscpu.  We don't use
+	# -qrtems during configure, so we don't link that in, and fail
+	# to find them.
+	glibcxx_cv_chdir=yes
+	glibcxx_cv_chmod=yes
+	glibcxx_cv_mkdir=yes
         ;;
     esac
   elif test "x$with_headers" != "xno"; then
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 37396bd6ebbe6..0725c81bc9fa4 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -400,6 +400,13 @@  dnl # rather than hardcoding that information.
         AC_DEFINE(HAVE_SYMLINK)
         AC_DEFINE(HAVE_TRUNCATE)
         AC_DEFINE(HAVE_USLEEP)
+
+	# These functions are defined in librtempscpu.  We don't use
+	# -qrtems during configure, so we don't link that in, and fail
+	# to find them.
+	glibcxx_cv_chdir=yes
+	glibcxx_cv_chmod=yes
+	glibcxx_cv_mkdir=yes
         ;;
     esac
   elif test "x$with_headers" != "xno"; then