[llvm-bugs] [Bug 39562] New: LowerEmscriptenEHSjLj pass fails w/ emcc WASM_OBJECT_FILES=1 when there's only longjmp

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Nov 5 13:10:49 PST 2018


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

            Bug ID: 39562
           Summary: LowerEmscriptenEHSjLj pass fails w/ emcc
                    WASM_OBJECT_FILES=1 when there's only longjmp
           Product: libraries
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: WebAssembly
          Assignee: unassignedbugs at nondot.org
          Reporter: aheejin at gmail.com
                CC: llvm-bugs at lists.llvm.org

When there is not setjmp call but only longjmp call in a module, such as
```
#include <setjmp.h>

struct Foo {
  jmp_buf buffer;
};

__attribute__((used, visibility("default")))
void test_breakage(struct Foo *foo) {
  volatile jmp_buf* jump_buffer = &foo->buffer;
  longjmp(*jump_buffer, 1);
}
```

`emcc src/sjljehfail.c -O2 --profiling-funcs -o a.out.js -s
WASM_OBJECT_FILES=1` crashes with a segmentation fault.

-- 
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/20181105/dcd20512/attachment.html>


More information about the llvm-bugs mailing list