Date: Mon, 13 Nov 2017 01:45:13 +0000 (UTC) From: Brooks Davis <brooks@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r454093 - in head/devel/llvm40: . files Message-ID: <201711130145.vAD1jDOL046741@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: brooks Date: Mon Nov 13 01:45:12 2017 New Revision: 454093 URL: https://svnweb.freebsd.org/changeset/ports/454093 Log: Merge from src and upstream LLVM: lld: accept EINVAL to indicate posix_fallocate is unsupported As of r325320 posix_fallocate on a ZFS filesystem returns EINVAL to indicate that the operation is not supported. (I think this is a strange choice of errno on the part of POSIX.) PR: 223383, 223440 Reported by: Mark Millard Added: head/devel/llvm40/files/patch-lib_Support_Unix_Path.inc (contents, props changed) Modified: head/devel/llvm40/Makefile Modified: head/devel/llvm40/Makefile ============================================================================== --- head/devel/llvm40/Makefile Sun Nov 12 22:58:56 2017 (r454092) +++ head/devel/llvm40/Makefile Mon Nov 13 01:45:12 2017 (r454093) @@ -2,7 +2,7 @@ PORTNAME= llvm DISTVERSION= 4.0.1 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= devel lang MASTER_SITES= http://llvm.org/${PRE_}releases/${LLVM_RELEASE}/${RCDIR} PKGNAMESUFFIX= ${LLVM_SUFFIX} Added: head/devel/llvm40/files/patch-lib_Support_Unix_Path.inc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/llvm40/files/patch-lib_Support_Unix_Path.inc Mon Nov 13 01:45:12 2017 (r454093) @@ -0,0 +1,22 @@ +--- lib/Support/Unix/Path.inc.orig ++++ lib/Support/Unix/Path.inc +@@ -342,14 +342,15 @@ + #if defined(HAVE_POSIX_FALLOCATE) + // If we have posix_fallocate use it. Unlike ftruncate it always allocates + // space, so we get an error if the disk is full. +- if (int Err = ::posix_fallocate(FD, 0, Size)) +- return std::error_code(Err, std::generic_category()); +-#else ++ if (int Err = ::posix_fallocate(FD, 0, Size)) { ++ if (Err != EINVAL && Err != EOPNOTSUPP) ++ return std::error_code(Err, std::generic_category()); ++ } ++#endif + // Use ftruncate as a fallback. It may or may not allocate space. At least on + // OS X with HFS+ it does. + if (::ftruncate(FD, Size) == -1) + return std::error_code(errno, std::generic_category()); +-#endif + + return std::error_code(); + }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711130145.vAD1jDOL046741>