[llvm] r269244 - Initial add for MachO support for yaml2obj
Chris Bieneman via llvm-commits
llvm-commits at lists.llvm.org
Wed May 11 15:07:49 PDT 2016
Author: cbieneman
Date: Wed May 11 17:07:48 2016
New Revision: 269244
URL: http://llvm.org/viewvc/llvm-project?rev=269244&view=rev
Log:
Initial add for MachO support for yaml2obj
Adding the initial files for adding MachO support to yaml2obj. Passing a MachO file will result in an error.
I will be implementing obj2yaml and yaml2obj for MachO in parallel so that one can be used to test the other.
Added:
llvm/trunk/tools/yaml2obj/yaml2macho.cpp
Modified:
llvm/trunk/tools/yaml2obj/CMakeLists.txt
llvm/trunk/tools/yaml2obj/yaml2obj.cpp
llvm/trunk/tools/yaml2obj/yaml2obj.h
Modified: llvm/trunk/tools/yaml2obj/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/yaml2obj/CMakeLists.txt?rev=269244&r1=269243&r2=269244&view=diff
==============================================================================
--- llvm/trunk/tools/yaml2obj/CMakeLists.txt (original)
+++ llvm/trunk/tools/yaml2obj/CMakeLists.txt Wed May 11 17:07:48 2016
@@ -9,4 +9,5 @@ add_llvm_tool(yaml2obj
yaml2obj.cpp
yaml2coff.cpp
yaml2elf.cpp
+ yaml2macho.cpp
)
Added: llvm/trunk/tools/yaml2obj/yaml2macho.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/yaml2obj/yaml2macho.cpp?rev=269244&view=auto
==============================================================================
--- llvm/trunk/tools/yaml2obj/yaml2macho.cpp (added)
+++ llvm/trunk/tools/yaml2obj/yaml2macho.cpp Wed May 11 17:07:48 2016
@@ -0,0 +1,23 @@
+//===- yaml2macho - Convert YAML to a Mach object file --------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// \brief The Mach component of yaml2obj.
+///
+//===----------------------------------------------------------------------===//
+
+#include "yaml2obj.h"
+#include "llvm/Support/raw_ostream.h"
+
+using namespace llvm;
+
+int yaml2macho(llvm::yaml::Input &YIn, llvm::raw_ostream &Out) {
+ errs() << "yaml2obj: Mach-O not implemented yet!\n";
+ return 1;
+}
Modified: llvm/trunk/tools/yaml2obj/yaml2obj.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/yaml2obj/yaml2obj.cpp?rev=269244&r1=269243&r2=269244&view=diff
==============================================================================
--- llvm/trunk/tools/yaml2obj/yaml2obj.cpp (original)
+++ llvm/trunk/tools/yaml2obj/yaml2obj.cpp Wed May 11 17:07:48 2016
@@ -42,7 +42,8 @@ static cl::opt<std::string>
// library.
enum YAMLObjectFormat {
YOF_COFF,
- YOF_ELF
+ YOF_ELF,
+ YOF_MACHO
};
cl::opt<YAMLObjectFormat> Format(
@@ -51,6 +52,7 @@ cl::opt<YAMLObjectFormat> Format(
cl::values(
clEnumValN(YOF_COFF, "coff", "COFF object file format"),
clEnumValN(YOF_ELF, "elf", "ELF object file format"),
+ clEnumValN(YOF_MACHO, "macho", "Mach-O object file format"),
clEnumValEnd));
cl::opt<unsigned>
@@ -102,6 +104,8 @@ int main(int argc, char **argv) {
Convert = yaml2coff;
else if (Format == YOF_ELF)
Convert = yaml2elf;
+ else if (Format == YOF_MACHO)
+ Convert = yaml2macho;
else {
errs() << "Not yet implemented\n";
return 1;
Modified: llvm/trunk/tools/yaml2obj/yaml2obj.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/yaml2obj/yaml2obj.h?rev=269244&r1=269243&r2=269244&view=diff
==============================================================================
--- llvm/trunk/tools/yaml2obj/yaml2obj.h (original)
+++ llvm/trunk/tools/yaml2obj/yaml2obj.h Wed May 11 17:07:48 2016
@@ -20,5 +20,6 @@ class Input;
}
int yaml2coff(llvm::yaml::Input &YIn, llvm::raw_ostream &Out);
int yaml2elf(llvm::yaml::Input &YIn, llvm::raw_ostream &Out);
+int yaml2macho(llvm::yaml::Input &YIn, llvm::raw_ostream &Out);
#endif
More information about the llvm-commits
mailing list