]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Merge commit 4a39d0890894 from llvm-project (by Mark Johnston):
authorDimitry Andric <dim@FreeBSD.org>
Mon, 29 Jan 2024 17:26:48 +0000 (18:26 +0100)
committerDimitry Andric <dim@FreeBSD.org>
Mon, 29 Jan 2024 17:26:48 +0000 (18:26 +0100)
commitee14a9725d73150e89367550206803fe36ae3089
tree052f2da14fb997c813d70e449ef296ceca748cca
parent8d5353de74471038bd75a6cb39bf58f50a600642
Merge commit 4a39d0890894 from llvm-project (by Mark Johnston):

  [libc++] Fix filesystem::remove_all() on FreeBSD (#79540)

  remove_all_impl() opens the target path with O_NOFOLLOW, which fails if
  the target is a symbolic link. On FreeBSD, rather than returning ELOOP,
  openat() returns EMLINK. This is unlikely to change for compatibility
  reasons, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214633 .

  Thus, check for EMLINK as well.

Reported by: markj
PR: 276632
MFC after: 3 days
contrib/llvm-project/libcxx/src/filesystem/operations.cpp