[ 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-h...@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:

        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 
#include "..." search starts here:
#include <...> search starts here:
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 


does not yet suggest updates to devel/llvm* 's for
the issue.

Mark Millard
markmi at dsl-only.net

freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to