diff options
Diffstat (limited to 'llvm/tools')
| -rw-r--r-- | llvm/tools/yaml2obj/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | llvm/tools/yaml2obj/yaml2minidump.cpp | 18 | ||||
| -rw-r--r-- | llvm/tools/yaml2obj/yaml2obj.cpp | 2 | ||||
| -rw-r--r-- | llvm/tools/yaml2obj/yaml2obj.h | 5 |
4 files changed, 26 insertions, 0 deletions
diff --git a/llvm/tools/yaml2obj/CMakeLists.txt b/llvm/tools/yaml2obj/CMakeLists.txt index adeac2331a6..1c61fb737d9 100644 --- a/llvm/tools/yaml2obj/CMakeLists.txt +++ b/llvm/tools/yaml2obj/CMakeLists.txt @@ -11,5 +11,6 @@ add_llvm_tool(yaml2obj yaml2coff.cpp yaml2elf.cpp yaml2macho.cpp + yaml2minidump.cpp yaml2wasm.cpp ) diff --git a/llvm/tools/yaml2obj/yaml2minidump.cpp b/llvm/tools/yaml2obj/yaml2minidump.cpp new file mode 100644 index 00000000000..a9a29475d85 --- /dev/null +++ b/llvm/tools/yaml2obj/yaml2minidump.cpp @@ -0,0 +1,18 @@ +//===- yaml2minidump.cpp - Convert a YAML file to a minidump file ---------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "yaml2obj.h" +#include "llvm/ObjectYAML/MinidumpYAML.h" +#include "llvm/Support/raw_ostream.h" + +using namespace llvm; + +int yaml2minidump(MinidumpYAML::Object &Doc, raw_ostream &Out) { + writeAsBinary(Doc, Out); + return 0; +} diff --git a/llvm/tools/yaml2obj/yaml2obj.cpp b/llvm/tools/yaml2obj/yaml2obj.cpp index d96f7a68c0d..58e69fd5a5b 100644 --- a/llvm/tools/yaml2obj/yaml2obj.cpp +++ b/llvm/tools/yaml2obj/yaml2obj.cpp @@ -56,6 +56,8 @@ static int convertYAML(yaml::Input &YIn, raw_ostream &Out) { return yaml2coff(*Doc.Coff, Out); if (Doc.MachO || Doc.FatMachO) return yaml2macho(Doc, Out); + if (Doc.Minidump) + return yaml2minidump(*Doc.Minidump, Out); if (Doc.Wasm) return yaml2wasm(*Doc.Wasm, Out); error("yaml2obj: Unknown document type!"); diff --git a/llvm/tools/yaml2obj/yaml2obj.h b/llvm/tools/yaml2obj/yaml2obj.h index 40ed9e7782d..60c298771d8 100644 --- a/llvm/tools/yaml2obj/yaml2obj.h +++ b/llvm/tools/yaml2obj/yaml2obj.h @@ -22,6 +22,10 @@ namespace ELFYAML { struct Object; } +namespace MinidumpYAML { +struct Object; +} + namespace WasmYAML { struct Object; } @@ -35,6 +39,7 @@ struct YamlObjectFile; int yaml2coff(llvm::COFFYAML::Object &Doc, llvm::raw_ostream &Out); int yaml2elf(llvm::ELFYAML::Object &Doc, llvm::raw_ostream &Out); int yaml2macho(llvm::yaml::YamlObjectFile &Doc, llvm::raw_ostream &Out); +int yaml2minidump(llvm::MinidumpYAML::Object &Doc, llvm::raw_ostream &Out); int yaml2wasm(llvm::WasmYAML::Object &Doc, llvm::raw_ostream &Out); #endif |

