[Bug 257132] clang 12.0.1 fails to cross-compile kern_mbuf - amd64 host, i386 target

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 12 Jul 2021 14:41:44 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257132

            Bug ID: 257132
           Summary: clang 12.0.1 fails to cross-compile kern_mbuf - amd64
                    host, i386 target
           Product: Base System
           Version: CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: imb@protected-networks.net

When cross-building for i386 target on amd64, clang 12.0.1 trips over an
assertion:

Assertion failed: ((EltVT.getSizeInBits() >= 64 || (uint64_t)((int64_t)Val >>
EltVT.getSizeInBits()) + 1 < 2) && "getConstant with a uint64_t value that
doesn't fit in the type!"), function getConstant, file
/usr/local/release-builds/i386/usr/src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp,
line 1337.
PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the
crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: cc -target i386-unknown-freebsd14.0
--sysroot=/usr/obj/usr/src/i386.i386/tmp
-B/usr/obj/usr/src/i386.i386/tmp/usr/bin -c -O2 -pipe -fno-strict-aliasing
-nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include
-I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include
opt_global.h -fno-common -MD -MF.depend.kern_mbuf.o -MTkern_mbuf.o
-fdebug-prefix-map=./machine=/usr/src/sys/i386/include
-fdebug-prefix-map=./x86=/usr/src/sys/x86/include -mno-mmx -mno-sse
-msoft-float -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
-Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__
-Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas
-Wno-error=tautological-compare -Wno-error=empty-body
-Wno-error=parentheses-equality -Wno-error=unused-function
-Wno-error=pointer-sign -Wno-error=shift-negative-value
-Wno-address-of-packed-member -Wno-format-zero-length -mno-aes -mno-avx
-std=iso9899:1999 -Werror /usr/src/sys/kern/kern_mbuf.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module
'/usr/src/sys/kern/kern_mbuf.c'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@m_free'
#0 0x00000000047256d1 PrintStackTrace
/usr/local/release-builds/i386/usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:565:13
#1 0x00000000047238a5 RunSignalHandlers
/usr/local/release-builds/i386/usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:72:18
#2 0x00000000046bd49e HandleCrash
/usr/local/release-builds/i386/usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:75:5
#3 0x00000000046bd623 CrashRecoverySignalHandler
/usr/local/release-builds/i386/usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:0:51
#4 0x0000000805d03eb0 handle_signal
/usr/local/release-builds/i386/usr/src/lib/libthr/thread/thr_sig.c:0:3
cc: error: clang frontend command failed with exit code 134 (use -v to see
invocation)
FreeBSD clang version 12.0.1 (git@github.com:llvm/llvm-project.git
llvmorg-12.0.1-rc2-0-ge7dac564cd0e)
Target: i386-unknown-freebsd14.0
Thread model: posix
InstalledDir: /usr/bin
cc: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
cc: note: diagnostic msg: /tmp/kern_mbuf-e8afab.c
cc: note: diagnostic msg: /tmp/kern_mbuf-e8afab.sh
cc: note: diagnostic msg: 

preprocessed source (as above) attached
shell script (as above) contains:

# Crash reproducer for FreeBSD clang version 12.0.1
(git@github.com:llvm/llvm-project.git llvmorg-12.0.1-rc2-0-ge7dac564cd0e)
# Driver args: "--target=i386-unknown-freebsd14.0"
"--sysroot=/usr/obj/usr/src/i386.i386/tmp" "-B"
"/usr/obj/usr/src/i386.i386/tmp/usr/bin" "-c" "-O2" "-pipe"
"-fno-strict-aliasing" "-nostdinc" "-I" "." "-I" "/usr/src/sys" "-I"
"/usr/src/sys/contrib/ck/include" "-I" "/usr/src/sys/contrib/libfdt" "-D"
"_KERNEL" "-D" "HAVE_KERNEL_OPTION_HEADERS" "-include" "opt_global.h"
"-fno-common" "-MD" "-MF" ".depend.kern_mbuf.o" "-MT" "kern_mbuf.o"
"-fdebug-prefix-map=./machine=/usr/src/sys/i386/include"
"-fdebug-prefix-map=./x86=/usr/src/sys/x86/include" "-mno-mmx" "-mno-sse"
"-msoft-float" "-ffreestanding" "-fwrapv" "-fstack-protector" "-Wall"
"-Wredundant-decls" "-Wnested-externs" "-Wstrict-prototypes"
"-Wmissing-prototypes" "-Wpointer-arith" "-Wcast-qual" "-Wundef"
"-Wno-pointer-sign" "-D" "__printf__=__freebsd_kprintf__"
"-Wmissing-include-dirs" "-fdiagnostics-show-option" "-Wno-unknown-pragmas"
"-Wno-error=tautological-compare" "-Wno-error=empty-body"
"-Wno-error=parentheses-equality" "-Wno-error=unused-function"
"-Wno-error=pointer-sign" "-Wno-error=shift-negative-value"
"-Wno-address-of-packed-member" "-Wno-format-zero-length" "-mno-aes" "-mno-avx"
"-std=iso9899:1999" "-Werror" "/usr/src/sys/kern/kern_mbuf.c"
# Original command:  "/usr/bin/cc" "-cc1" "-triple" "i386-unknown-freebsd14.0"
"-emit-obj" "--mrelax-relocations" "-disable-free" "-main-file-name"
"kern_mbuf.c" "-mrelocation-model" "static" "-mframe-pointer=all"
"-relaxed-aliasing" "-fno-rounding-math" "-mconstructor-aliases"
"-ffreestanding" "-target-cpu" "i686" "-target-feature" "-mmx"
"-target-feature" "-sse" "-target-feature" "-aes" "-target-feature" "-avx"
"-no-implicit-float" "-tune-cpu" "generic" "-fno-split-dwarf-inlining"
"-debugger-tuning=gdb" "-nostdsysteminc" "-nobuiltininc" "-resource-dir"
"/usr/lib/clang/12.0.1" "-dependency-file" ".depend.kern_mbuf.o" "-MT"
"kern_mbuf.o" "-sys-header-deps" "-include" "opt_global.h" "-I" "." "-I"
"/usr/src/sys" "-I" "/usr/src/sys/contrib/ck/include" "-I"
"/usr/src/sys/contrib/libfdt" "-D" "_KERNEL" "-D" "HAVE_KERNEL_OPTION_HEADERS"
"-D" "__printf__=__freebsd_kprintf__" "-isysroot"
"/usr/obj/usr/src/i386.i386/tmp" "-O2" "-Wall" "-Wredundant-decls"
"-Wnested-externs" "-Wstrict-prototypes" "-Wmissing-prototypes"
"-Wpointer-arith" "-Wcast-qual" "-Wundef" "-Wno-pointer-sign"
"-Wmissing-include-dirs" "-Wno-unknown-pragmas"
"-Wno-error=tautological-compare" "-Wno-error=empty-body"
"-Wno-error=parentheses-equality" "-Wno-error=unused-function"
"-Wno-error=pointer-sign" "-Wno-error=shift-negative-value"
"-Wno-address-of-packed-member" "-Wno-format-zero-length" "-Werror"
"-std=iso9899:1999" "-fdebug-compilation-dir"
"/usr/obj/usr/src/i386.i386/sys/SARAH"
"-fdebug-prefix-map=./machine=/usr/src/sys/i386/include"
"-fdebug-prefix-map=./x86=/usr/src/sys/x86/include" "-ferror-limit" "19"
"-fwrapv" "-stack-protector" "1" "-fgnuc-version=4.2.1" "-vectorize-loops"
"-vectorize-slp" "-faddrsig" "-o" "kern_mbuf.o" "-x" "c"
"/usr/src/sys/kern/kern_mbuf.c"
 "/usr/bin/cc" "-cc1" "-triple" "i386-unknown-freebsd14.0" "-emit-obj"
"--mrelax-relocations" "-disable-free" "-main-file-name" "kern_mbuf.c"
"-mrelocation-model" "static" "-mframe-pointer=all" "-relaxed-aliasing"
"-fno-rounding-math" "-mconstructor-aliases" "-ffreestanding" "-target-cpu"
"i686" "-target-feature" "-mmx" "-target-feature" "-sse" "-target-feature"
"-aes" "-target-feature" "-avx" "-no-implicit-float" "-tune-cpu" "generic"
"-fno-split-dwarf-inlining" "-debugger-tuning=gdb" "-nostdsysteminc"
"-nobuiltininc" "-sys-header-deps" "-D" "_KERNEL" "-D"
"HAVE_KERNEL_OPTION_HEADERS" "-D" "__printf__=__freebsd_kprintf__" "-O2"
"-Wall" "-Wredundant-decls" "-Wnested-externs" "-Wstrict-prototypes"
"-Wmissing-prototypes" "-Wpointer-arith" "-Wcast-qual" "-Wundef"
"-Wno-pointer-sign" "-Wmissing-include-dirs" "-Wno-unknown-pragmas"
"-Wno-error=tautological-compare" "-Wno-error=empty-body"
"-Wno-error=parentheses-equality" "-Wno-error=unused-function"
"-Wno-error=pointer-sign" "-Wno-error=shift-negative-value"
"-Wno-address-of-packed-member" "-Wno-format-zero-length" "-Werror"
"-std=iso9899:1999" "-fdebug-prefix-map=./machine=/usr/src/sys/i386/include"
"-fdebug-prefix-map=./x86=/usr/src/sys/x86/include" "-ferror-limit" "19"
"-fwrapv" "-stack-protector" "1" "-fgnuc-version=4.2.1" "-vectorize-loops"
"-vectorize-slp" "-faddrsig" "-x" "c" "kern_mbuf-e8afab.c"

-- 
You are receiving this mail because:
You are the assignee for the bug.