diff --git a/stdlib/public/runtime/CMakeLists.txt b/stdlib/public/runtime/CMakeLists.txt index fdb5472a6d144..ef38c5756e7c6 100644 --- a/stdlib/public/runtime/CMakeLists.txt +++ b/stdlib/public/runtime/CMakeLists.txt @@ -53,6 +53,7 @@ set(swift_runtime_sources ImageInspectionELF.cpp ImageInspectionCOFF.cpp ImageInspectionStatic.cpp + ImageInspectionWasm.cpp KeyPaths.cpp KnownMetadata.cpp Metadata.cpp diff --git a/stdlib/public/runtime/ImageInspectionWasm.cpp b/stdlib/public/runtime/ImageInspectionWasm.cpp new file mode 100644 index 0000000000000..165aa0990b1cf --- /dev/null +++ b/stdlib/public/runtime/ImageInspectionWasm.cpp @@ -0,0 +1,35 @@ +//===----------------------------------------------------------------------===// +// +// This source file is part of the Swift.org open source project +// +// Copyright (c) 2014 - 2021 Apple Inc. and the Swift project authors +// Licensed under Apache License v2.0 with Runtime Library Exception +// +// See https://swift.org/LICENSE.txt for license information +// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors +// +//===----------------------------------------------------------------------===// +/// +/// \file +/// +/// Implementation of ImageInspection for WebAssembly. +/// +//===----------------------------------------------------------------------===// + +#if defined(__wasm__) + +#include "../SwiftShims/MetadataSections.h" +#include "ImageInspection.h" + +using namespace swift; + +int swift::lookupSymbol(const void *address, SymbolInfo *info) { + // Currently, Wasm doesn't have a standard stable ABI for exporting address <-> + // symbol table, it's work in progress. Also, there is no API to access such + // information from Wasm binary side. It's accessible only from host VM. + // See https://github.com/WebAssembly/tool-conventions/blob/main/DynamicLinking.md + // Seems reasonable to use a stub for now. + return 0; +} + +#endif // defined(__wasm__)