On Thu, 30 May 2024, 06:03 Alexandre Oliva, <ol...@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
>

Reply via email to