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: Mark Millard <markmi_at_dsl-only.net>
Date: Thu, 9 Nov 2017 19:09:00 -0800
[ 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 Fri Nov 10 2017 - 02:09:09 UTC

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