Re: [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]

From: Brooks Davis <brooks_at_freebsd.org>
Date: Sun, 12 Nov 2017 07:57:33 +0000
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
> 

Received on Sun Nov 12 2017 - 07:05:38 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:13 UTC