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