On 10/08/20 13:24 +0100, Jonathan Wakely wrote:
The configure switch should only affect the optional Filesystem TS, not
the std::filesystem features of C++17.

libstdc++-v3/ChangeLog:

        PR libstdc++/94681
        * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Do not depend on
        $enable_libstdcxx_filesystem_ts.
        * configure: Regenerate.

This fixes a build failure reported in the PR.

Tested x86_64-linux. Committed to trunk.



commit 5b065f0563262a0d6cd1fea8426913bfdd841301
Author: Jonathan Wakely <[email protected]>
Date:   Mon Aug 10 18:58:14 2020

    libstdc++: Fix build for targets without lstat [PR 94681]
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/94681
            * src/c++17/fs_ops.cc (read_symlink): Use posix::lstat instead
            of calling ::lstat directly.
            * src/filesystem/ops.cc (read_symlink): Likewise.

diff --git a/libstdc++-v3/src/c++17/fs_ops.cc b/libstdc++-v3/src/c++17/fs_ops.cc
index c685b1824f9..2cb26e4605b 100644
--- a/libstdc++-v3/src/c++17/fs_ops.cc
+++ b/libstdc++-v3/src/c++17/fs_ops.cc
@@ -1175,7 +1175,7 @@ fs::path fs::read_symlink(const path& p, error_code& ec)
   path result;
 #if defined(_GLIBCXX_HAVE_READLINK) && defined(_GLIBCXX_HAVE_SYS_STAT_H)
   stat_type st;
-  if (::lstat(p.c_str(), &st))
+  if (posix::lstat(p.c_str(), &st))
     {
       ec.assign(errno, std::generic_category());
       return result;
diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc
index 8c8854bf28e..a1138490b3e 100644
--- a/libstdc++-v3/src/filesystem/ops.cc
+++ b/libstdc++-v3/src/filesystem/ops.cc
@@ -993,7 +993,7 @@ fs::path fs::read_symlink(const path& p [[gnu::unused]], error_code& ec)
   path result;
 #if defined(_GLIBCXX_HAVE_READLINK) && defined(_GLIBCXX_HAVE_SYS_STAT_H)
   stat_type st;
-  if (::lstat(p.c_str(), &st))
+  if (posix::lstat(p.c_str(), &st))
     {
       ec.assign(errno, std::generic_category());
       return result;

Reply via email to