1336809Sdim//===-- llvm/BinaryFormat/Wasm.cpp -------------------------------*- C++-*-===// 2336809Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6336809Sdim// 7336809Sdim//===----------------------------------------------------------------------===// 8336809Sdim 9336809Sdim#include "llvm/BinaryFormat/Wasm.h" 10336809Sdim 11353358Sdimstd::string llvm::wasm::toString(wasm::WasmSymbolType Type) { 12353358Sdim switch (Type) { 13336809Sdim case wasm::WASM_SYMBOL_TYPE_FUNCTION: 14336809Sdim return "WASM_SYMBOL_TYPE_FUNCTION"; 15336809Sdim case wasm::WASM_SYMBOL_TYPE_GLOBAL: 16336809Sdim return "WASM_SYMBOL_TYPE_GLOBAL"; 17336809Sdim case wasm::WASM_SYMBOL_TYPE_DATA: 18336809Sdim return "WASM_SYMBOL_TYPE_DATA"; 19336809Sdim case wasm::WASM_SYMBOL_TYPE_SECTION: 20336809Sdim return "WASM_SYMBOL_TYPE_SECTION"; 21344779Sdim case wasm::WASM_SYMBOL_TYPE_EVENT: 22344779Sdim return "WASM_SYMBOL_TYPE_EVENT"; 23336809Sdim } 24336809Sdim llvm_unreachable("unknown symbol type"); 25336809Sdim} 26336809Sdim 27353358Sdimstd::string llvm::wasm::relocTypetoString(uint32_t Type) { 28353358Sdim switch (Type) { 29344779Sdim#define WASM_RELOC(NAME, VALUE) \ 30344779Sdim case VALUE: \ 31344779Sdim return #NAME; 32336809Sdim#include "llvm/BinaryFormat/WasmRelocs.def" 33336809Sdim#undef WASM_RELOC 34336809Sdim default: 35336809Sdim llvm_unreachable("unknown reloc type"); 36336809Sdim } 37336809Sdim} 38353358Sdim 39353358Sdimbool llvm::wasm::relocTypeHasAddend(uint32_t Type) { 40353358Sdim switch (Type) { 41353358Sdim case R_WASM_MEMORY_ADDR_LEB: 42353358Sdim case R_WASM_MEMORY_ADDR_SLEB: 43353358Sdim case R_WASM_MEMORY_ADDR_REL_SLEB: 44353358Sdim case R_WASM_MEMORY_ADDR_I32: 45353358Sdim case R_WASM_FUNCTION_OFFSET_I32: 46353358Sdim case R_WASM_SECTION_OFFSET_I32: 47353358Sdim return true; 48353358Sdim default: 49353358Sdim return false; 50353358Sdim } 51353358Sdim} 52