https://llvm.org/bugs/show_bug.cgi?id=31279
Bug ID: 31279 Summary: Crash when using metadata, label or token type for function parameter Product: tools Version: 3.9 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: lli Assignee: unassignedb...@nondot.org Reporter: mew...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Created attachment 17714 --> https://llvm.org/bugs/attachment.cgi?id=17714&action=edit Crash dump of a.ll and b.ll running lli through GDB. The following four LLVM IR programs causes lli to crash with a SIGSEGV. See attached crash dumps with GDB output. Note, it is possible to control the value of rax based on the length of the register name in a.ll. The three remaining crashes in b.ll, c.ll and d.ll are all based on NULL pointer dereferences. Contents of a.ll: ``` define i32 @main() { call i32 @llvm.read_register.i32(metadata !"esi") ret i32 42 } declare i32 @llvm.read_register.i32(metadata) ``` Contents of b.ll: ``` define i32 @main() { ret i32 42 } define i32 @foo(metadata %x) { ret i32 32 } ``` Contents of c.ll: ``` define i32 @main() { ret i32 42 } define i32 @foo(label %x) { ret i32 32 } ``` Contents of d.ll: ``` define i32 @main() { ret i32 42 } define i32 @foo(token %x) { ret i32 32 } ``` -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs