mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-04-03 08:11:52 +00:00

Mostly this change adds support converting to and from YAML which will allow us to write more test cases for the WebAssembly MC and lld ports. Better support for objdump, readelf, and nm will be in followup CLs. I had to update the two wasm test binaries because they used the old style 'name' section which is no longer supported. Differential Revision: https://reviews.llvm.org/D31099 Patch by Sam Clegg llvm-svn: 299101
42 lines
1.4 KiB
C++
42 lines
1.4 KiB
C++
//===------ utils/obj2yaml.hpp - obj2yaml conversion tool -------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
// This file declares some helper routines, and also the format-specific
|
|
// writers. To add a new format, add the declaration here, and, in a separate
|
|
// source file, implement it.
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_TOOLS_OBJ2YAML_OBJ2YAML_H
|
|
#define LLVM_TOOLS_OBJ2YAML_OBJ2YAML_H
|
|
|
|
#include "llvm/Object/COFF.h"
|
|
#include "llvm/Object/Wasm.h"
|
|
#include "llvm/Support/raw_ostream.h"
|
|
#include <system_error>
|
|
|
|
std::error_code coff2yaml(llvm::raw_ostream &Out,
|
|
const llvm::object::COFFObjectFile &Obj);
|
|
std::error_code elf2yaml(llvm::raw_ostream &Out,
|
|
const llvm::object::ObjectFile &Obj);
|
|
std::error_code macho2yaml(llvm::raw_ostream &Out,
|
|
const llvm::object::Binary &Obj);
|
|
std::error_code wasm2yaml(llvm::raw_ostream &Out,
|
|
const llvm::object::WasmObjectFile &Obj);
|
|
|
|
// Forward decls for dwarf2yaml
|
|
namespace llvm {
|
|
class DWARFContextInMemory;
|
|
namespace DWARFYAML {
|
|
struct Data;
|
|
}
|
|
}
|
|
|
|
std::error_code dwarf2yaml(llvm::DWARFContextInMemory &DCtx,
|
|
llvm::DWARFYAML::Data &Y);
|
|
|
|
#endif
|