On Jun 27, 2022, Jonathan Wakely <jwak...@redhat.com> wrote: > -#if _GLIBCXX_HAVE_DIRFD > +#if _GLIBCXX_HAVE_DIRFD && _GLIBCXX_HAVE_OPENAT && _GLIBCXX_HAVE_UNLINKAT
Thanks, I had this bit in the WIP _At_path patch, as well as my updated remove_all patch, in the latest round of tests. I confirm that I don't get any errors with it on an x86_64-linux-gnu native built with openat and unlinkat forced disabled in libstdc++, but on aarch64-rtems6, there are some fails that are not making much sense to me. I haven't looked into any but 27_io/.../copy.cc, so I can't tell whether they've regressed, but copy.cc's test01 did when I put this (or variants thereof) in. Tomorrow I'll look into building libstdc++ with -Og or something else with less optimization than the default, to help me make sense of what's going on that causes copy() to return without as much as creating the destination. FAILED: default@libstdc++,27_io,filesystem,operations,copy_cc FAILED: default@libstdc++,experimental,filesystem,operations,copy_cc .../27_io/filesystem/operations/copy.cc:5[67]: void test01(): Assertion '!exists(to)' failed. FAILED: default@libstdc++,27_io,filesystem,operations,copy_file_cc FAILED: default@libstdc++,experimental,filesystem,operations,copy_file_cc terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error' what(): filesystem error: cannot copy file: File exists [filesystem-test.000001-copy_file] [filesystem-test.000001-copy_file] FAILED: default@libstdc++,27_io,filesystem,operations,equivalent_cc FAILED: default@libstdc++,experimental,filesystem,operations,equivalent_cc .../27_io/filesystem/operations/equivalent.cc:4[45]: void test01(): Assertion '!result' failed. FAILED: default@libstdc++,27_io,filesystem,operations,relative_cc .../27_io/filesystem/operations/relative.cc:32: void test01(): Assertion 'r == ".."/p' failed. Also still present: .../20_util/from_chars/4.cc:304: error: 'log2' is not a member of 'std'; did you mean 'log'? (IIRC we used to have two of these, we're now down to one) -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>