[llvm-bugs] [Bug 35719] New: simple c compile fail to webassembly

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Dec 21 09:55:24 PST 2017


https://bugs.llvm.org/show_bug.cgi?id=35719

            Bug ID: 35719
           Summary: simple c compile fail to webassembly
           Product: clang
           Version: 5.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: unassignedclangbugs at nondot.org
          Reporter: accounts-llvm at holbrook.no
                CC: llvm-bugs at lists.llvm.org

Created attachment 19585
  --> https://bugs.llvm.org/attachment.cgi?id=19585&action=edit
src file + diagnostics

(I'm assuming that `clang` links stdlib automatically?)

See attachments for code file and diagnostics.

$ /mnt/data/src/ext/llvm/llvm-5.0.0.src/build/bin/clang -v --target=wasm32
simple.c
clang version 5.0.0 (tags/RELEASE_500/final)
Target: wasm32
Thread model: posix
InstalledDir: /mnt/data/src/ext/llvm/llvm-5.0.0.src/build/bin
 "/mnt/data/src/ext/llvm/llvm-5.0.0.src/build/bin/clang-5.0" -cc1 -triple
wasm32 -emit-obj -mrelax-all -disable-free -main-file-name simple.c
-mrelocation-model static -mthread-model posix -masm-verbose
-mconstructor-aliases -fuse-init-array -target-cpu generic -fvisibility hidden
-momit-leaf-frame-pointer -v -dwarf-column-info -debugger-tuning=gdb
-ffunction-sections -fdata-sections -resource-dir
/mnt/data/src/ext/llvm/llvm-5.0.0.src/build/lib/clang/5.0.0 -internal-isystem
/include -fdebug-compilation-dir /home/lash/data/tests/wasm -ferror-limit 19
-fmessage-length 62 -fobjc-runtime=gnustep -fno-common
-fdiagnostics-show-option -fcolor-diagnostics -o /tmp/simple-0f2514.o -x c
simple.c
clang -cc1 version 5.0.0 based upon LLVM 5.0.0 default target
x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /mnt/data/src/ext/llvm/llvm-5.0.0.src/build/lib/clang/5.0.0/include
 /usr/include
End of search list.
clang-5.0:
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp:64:
virtual void {anonymous}::WebAssemblyMCCodeEmitter::encodeInstruction(const
llvm::MCInst&, llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&, const
llvm::MCSubtargetInfo&) const: Assertion `Binary < UINT8_MAX && "Multi-byte
opcodes not supported yet"' failed.
#0 0x000055795c3c3c25 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/Support/Unix/Signals.inc:398:0
#1 0x000055795c3c3cb8 PrintStackTraceSignalHandler(void*)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/Support/Unix/Signals.inc:462:0
#2 0x000055795c3c1eeb llvm::sys::RunSignalHandlers()
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/Support/Signals.cpp:49:0
#3 0x000055795c3c3491 SignalHandler(int)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/Support/Unix/Signals.inc:252:0
#4 0x00007f743cb1cda0 __restore_rt (/usr/lib/libpthread.so.0+0x11da0)
#5 0x00007f743b60f8a0 __GI_raise (/usr/lib/libc.so.6+0x348a0)
#6 0x00007f743b610f09 __GI_abort (/usr/lib/libc.so.6+0x35f09)
#7 0x00007f743b6080dc __assert_fail_base (/usr/lib/libc.so.6+0x2d0dc)
#8 0x00007f743b608153 (/usr/lib/libc.so.6+0x2d153)
#9 0x000055795b47042c (anonymous
namespace)::WebAssemblyMCCodeEmitter::encodeInstruction(llvm::MCInst const&,
llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&,
llvm::MCSubtargetInfo const&) const
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp:65:0
#10 0x000055795bfd7075 llvm::MCELFStreamer::EmitInstToData(llvm::MCInst const&,
llvm::MCSubtargetInfo const&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/MC/MCELFStreamer.cpp:470:0
#11 0x000055795bff34b0 llvm::MCObjectStreamer::EmitInstruction(llvm::MCInst
const&, llvm::MCSubtargetInfo const&, bool)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/MC/MCObjectStreamer.cpp:261:0
#12 0x000055795ce4e88e llvm::AsmPrinter::EmitToStreamer(llvm::MCStreamer&,
llvm::MCInst const&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:211:0
#13 0x000055795b41844d
llvm::WebAssemblyAsmPrinter::EmitInstruction(llvm::MachineInstr const*)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp:209:0
#14 0x000055795ce52da7 llvm::AsmPrinter::EmitFunctionBody()
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1034:0
#15 0x000055795a2e256b
llvm::AsmPrinter::runOnMachineFunction(llvm::MachineFunction&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/include/llvm/CodeGen/AsmPrinter.h:278:0
#16 0x000055795b418e7b
llvm::WebAssemblyAsmPrinter::runOnMachineFunction(llvm::MachineFunction&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h:50:0
#17 0x000055795b843b2f
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/CodeGen/MachineFunctionPass.cpp:62:0
#18 0x000055795bcad9d6 llvm::FPPassManager::runOnFunction(llvm::Function&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/IR/LegacyPassManager.cpp:1514:0
#19 0x000055795bcadb7b llvm::FPPassManager::runOnModule(llvm::Module&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/IR/LegacyPassManager.cpp:1535:0
#20 0x000055795bcadf03 (anonymous
namespace)::MPPassManager::runOnModule(llvm::Module&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/IR/LegacyPassManager.cpp:1591:0
#21 0x000055795bcae62d llvm::legacy::PassManagerImpl::run(llvm::Module&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/IR/LegacyPassManager.cpp:1694:0
#22 0x000055795bcae825 llvm::legacy::PassManager::run(llvm::Module&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/lib/IR/LegacyPassManager.cpp:1726:0
#23 0x000055795c6696ef (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/lib/CodeGen/BackendUtil.cpp:789:0
#24 0x000055795c66b8ce clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/lib/CodeGen/BackendUtil.cpp:1134:0
#25 0x000055795d1b2c91
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/lib/CodeGen/CodeGenAction.cpp:261:0
#26 0x000055795dec138a clang::ParseAST(clang::Sema&, bool, bool)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/lib/Parse/ParseAST.cpp:161:0
#27 0x000055795ccb6c69 clang::ASTFrontendAction::ExecuteAction()
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/lib/Frontend/FrontendAction.cpp:1003:0
#28 0x000055795d1b0a52 clang::CodeGenAction::ExecuteAction()
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/lib/CodeGen/CodeGenAction.cpp:993:0
#29 0x000055795ccb66ac clang::FrontendAction::Execute()
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/lib/Frontend/FrontendAction.cpp:906:0
#30 0x000055795cc53e1e
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/lib/Frontend/CompilerInstance.cpp:981:0
#31 0x000055795cdffdca
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:251:0
#32 0x000055795a2cb656 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/tools/driver/cc1_main.cpp:221:0
#33 0x000055795a2c083c ExecuteCC1Tool(llvm::ArrayRef<char const*>,
llvm::StringRef)
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/tools/driver/driver.cpp:306:0
#34 0x000055795a2c1418 main
/mnt/data/src/ext/llvm/llvm-5.0.0.src/tools/clang/tools/driver/driver.cpp:387:0
#35 0x00007f743b5fbf6a __libc_start_main (/usr/lib/libc.so.6+0x20f6a)
#36 0x000055795a2bdf1a _start
(/mnt/data/src/ext/llvm/llvm-5.0.0.src/build/bin/clang-5.0+0x1afaf1a)
Stack dump:
0.      Program arguments:
/mnt/data/src/ext/llvm/llvm-5.0.0.src/build/bin/clang-5.0 -cc1 -triple wasm32
-emit-obj -mrelax-all -disable-free -main-file-name simple.c -mrelocation-model
static -mthread-model posix -masm-verbose -mconstructor-aliases
-fuse-init-array -target-cpu generic -fvisibility hidden
-momit-leaf-frame-pointer -v -dwarf-column-info -debugger-tuning=gdb
-ffunction-sections -fdata-sections -resource-dir
/mnt/data/src/ext/llvm/llvm-5.0.0.src/build/lib/clang/5.0.0 -internal-isystem
/include -fdebug-compilation-dir /home/lash/data/tests/wasm -ferror-limit 19
-fmessage-length 62 -fobjc-runtime=gnustep -fno-common
-fdiagnostics-show-option -fcolor-diagnostics -o /tmp/simple-0f2514.o -x c
simple.c 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'simple.c'.
4.      Running pass 'WebAssembly Assembly Printer' on function '@main'
clang-5.0: error: unable to execute command: Aborted (core dumped)
clang-5.0: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 5.0.0 (tags/RELEASE_500/final)
Target: wasm32
Thread model: posix
InstalledDir: /mnt/data/src/ext/llvm/llvm-5.0.0.src/build/bin
clang-5.0: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and
associated run script.
clang-5.0: note: diagnostic msg: 
********************

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

********************

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20171221/5cd3aa23/attachment.html>


More information about the llvm-bugs mailing list