[Bug 223383] pathconf querying for posix_falloc not supported on freebsd [devel/llvm*'s lld's are also broken by this for zfs and need updating]
Brooks Davis
brooks at freebsd.org
Sun Nov 12 08:05:38 UTC 2017
I'll work on this.
-- Brooks
On Thu, Nov 09, 2017 at 07:09:00PM -0800, Mark Millard wrote:
> [ devel/llvm* also have the issue in their
> lld 's.]
>
> On 2017-Nov-7, at 4:43 PM, bugzilla-noreply at freebsd.org wrote:
>
> > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223383
> >
> > --- Comment #7 from commit-hook at freebsd.org ---
> > A commit references this bug:
> >
> > Author: emaste
> > Date: Wed Nov 8 00:39:04 UTC 2017
> > New revision: 325523
> > URL: https://svnweb.freebsd.org/changeset/base/325523
> >
> > Log:
> > MFC r325420: 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
> > Sponsored by: The FreeBSD Foundation
> >
> > Changes:
> > _U stable/11/
> > stable/11/contrib/llvm/lib/Support/Unix/Path.inc
> >
> > --
> > You are receiving this mail because:
> > You are on the CC list for the bug.
>
> [Context a zfs file system.]
>
> From /usr/src/UPDATING:
>
> 20171106:
> The naive and non-compliant support of posix_fallocate(2) in ZFS
> has been removed as of r325320. The system call now returns EINVAL
> when used on a ZFS file. Although the new behavior complies with the
> standard, some consumers are not prepared to cope with it.
> One known victim is lld prior to r325420.
>
>
> The issue is not limited to the system clang's
> associated lld.
>
> Here is an attempt to use clang++50, implicitly using
> its associated lld:
>
> # clang++50 -v exception_test.cc
> clang version 5.0.0 (tags/RELEASE_500/final)
> Target: x86_64-portbld-freebsd12.0
> Thread model: posix
> InstalledDir: /usr/local/llvm50/bin
> "/usr/local/llvm50/bin/clang-5.0" -cc1 -triple x86_64-portbld-freebsd12.0 -emit-obj -mrelax-all -disable-free -main-file-name exception_test.cc -mrelocation-model static -mthread-model posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/local/llvm50/lib/clang/5.0.0 -internal-isystem /usr/include/c++/v1 -fdeprecated-macro -fdebug-compilation-dir /root/c_tests -ferror-limit 19 -fmessage-length 200 -fobjc-runtime=gnustep -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/exception_test-baadc9.o -x c++ exception_test.cc
> clang -cc1 version 5.0.0 based upon LLVM 5.0.0 default target x86_64-portbld-freebsd12.0
> #include "..." search starts here:
> #include <...> search starts here:
> /usr/include/c++/v1
> /usr/local/llvm50/lib/clang/5.0.0/include
> /usr/include
> End of search list.
> "/usr/local/llvm50/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --hash-style=both --enable-new-dtags -o a.out /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib /tmp/exception_test-baadc9.o -lc++ -lm -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o
> /usr/local/llvm50/bin/ld: error: cannot open output file a.out: Invalid argument
> clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
>
>
> https://svnweb.freebsd.org/ports/head/devel/?dir_pagestart=1000
>
> does not yet suggest updates to devel/llvm* 's for
> the issue.
>
> ===
> Mark Millard
> markmi at dsl-only.net
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20171112/43fced45/attachment.sig>
More information about the freebsd-current
mailing list