From: Heejin Ahn Date: Sat, 4 Apr 2020 13:56:35 +0000 (-0700) Subject: [WebAssembly] Handle event exports X-Git-Tag: llvmorg-12-init~9897 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c09acd5dd1472e73d5c33250ced5b9a805ea8f4a;p=platform%2Fupstream%2Fllvm.git [WebAssembly] Handle event exports Summary: This handles exports of events, which was missing. Reviewers: sbc100 Subscribers: dschuff, jgravelle-google, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77566 --- diff --git a/lld/test/wasm/event-section.ll b/lld/test/wasm/event-section.ll index 7bd8790..15ef636 100644 --- a/lld/test/wasm/event-section.ll +++ b/lld/test/wasm/event-section.ll @@ -2,7 +2,9 @@ ; RUN: llc -filetype=obj -exception-model=wasm -mattr=+exception-handling %p/Inputs/event-section2.ll -o %t2.o ; RUN: llc -filetype=obj -exception-model=wasm -mattr=+exception-handling %s -o %t.o ; RUN: wasm-ld -o %t.wasm %t.o %t1.o %t2.o +; RUN: wasm-ld --export-all -o %t-export-all.wasm %t.o %t1.o %t2.o ; RUN: obj2yaml %t.wasm | FileCheck %s +; RUN: obj2yaml %t-export-all.wasm | FileCheck %s --check-prefix=EXPORT-ALL target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" target triple = "wasm32-unknown-unknown" @@ -35,3 +37,9 @@ define void @_start() { ; Global section has to come after event section ; CHECK: - Type: GLOBAL + +; EXPORT-ALL: - Type: EXPORT +; EXPORT-ALL-NEXT Exports: +; EXPORT-ALL: - Name: __cpp_exception +; EXPORT-ALL: Kind: EVENT +; EXPORT-ALL: Index: 0 diff --git a/lld/wasm/WriterUtils.cpp b/lld/wasm/WriterUtils.cpp index d0733d8..4f1bce6 100644 --- a/lld/wasm/WriterUtils.cpp +++ b/lld/wasm/WriterUtils.cpp @@ -217,6 +217,9 @@ void writeExport(raw_ostream &os, const WasmExport &export_) { case WASM_EXTERNAL_GLOBAL: writeUleb128(os, export_.Index, "global index"); break; + case WASM_EXTERNAL_EVENT: + writeUleb128(os, export_.Index, "event index"); + break; case WASM_EXTERNAL_MEMORY: writeUleb128(os, export_.Index, "memory index"); break;