[llvm-bugs] [Bug 35369] New: LLD wasm: alignment assert + a segfault
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Nov 20 15:42:47 PST 2017
https://bugs.llvm.org/show_bug.cgi?id=35369
Bug ID: 35369
Summary: LLD wasm: alignment assert + a segfault
Product: lld
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: All Bugs
Assignee: unassignedbugs at nondot.org
Reporter: alex at crichton.co
CC: llvm-bugs at lists.llvm.org
Created attachment 19448
--> https://bugs.llvm.org/attachment.cgi?id=19448&action=edit
test object file that fails
I've experimented trying to integrate LLD into Rust's support for WebAssembly
but unfortunately the "hello world" was generating a few asserts and segfaults
in LLD. For reduction I've extracted just one object file on the linker line
which reproduces the issue.
If I execute:
$ wasm-ld test.o -o test --allow-undefined
it'll fail with:
wasm-ld: /home/alex/code/llvm/include/llvm/Support/MathExtras.h:678:
uint64_t llvm::alignTo(uint64_t, uint64_t, uint64_t): Assertion `Align != 0u &&
"Align can't be 0."' failed.
I tried tracing in gdb and it looks like this is a case where the data section
has an alignment of 0 (unsure why). I then attempted to apply a small patch [1]
but then lld segfaulted right afterwards. Then I gave up and decided to open a
bug!
To be clear the object file here doesn't actually do anything useful. This was
part of a much larger link line and this is just one object file reduced. If
it's helpful I can provide all the various inputs as well!
[1]: https://gist.github.com/alexcrichton/8f5ddc7778586011eabe58aa2e11baeb
--
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/20171120/8b586445/attachment.html>
More information about the llvm-bugs
mailing list