[lld] r191581 - [mach-o] switch to use llvm::MachO:: constants

Nick Kledzik kledzik at apple.com
Fri Sep 27 15:50:01 PDT 2013


Author: kledzik
Date: Fri Sep 27 17:50:00 2013
New Revision: 191581

URL: http://llvm.org/viewvc/llvm-project?rev=191581&view=rev
Log:
[mach-o] switch to use llvm::MachO:: constants

Stop using some locally defined mach-o constants.


Modified:
    lld/trunk/lib/Driver/DarwinLdDriver.cpp
    lld/trunk/lib/ReaderWriter/MachO/ExecutableAtoms.hpp
    lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
    lld/trunk/unittests/DriverTests/DarwinLdDriverTest.cpp

Modified: lld/trunk/lib/Driver/DarwinLdDriver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/DarwinLdDriver.cpp?rev=191581&r1=191580&r2=191581&view=diff
==============================================================================
--- lld/trunk/lib/Driver/DarwinLdDriver.cpp (original)
+++ lld/trunk/lib/Driver/DarwinLdDriver.cpp Fri Sep 27 17:50:00 2013
@@ -16,7 +16,6 @@
 #include "lld/Driver/Driver.h"
 #include "lld/Driver/DarwinInputGraph.h"
 #include "lld/ReaderWriter/MachOLinkingContext.h"
-#include "lld/ReaderWriter/MachOFormat.hpp"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/Triple.h"
@@ -25,6 +24,7 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/FileSystem.h"
 #include "llvm/Support/Host.h"
+#include "llvm/Support/MachO.h"
 #include "llvm/Support/ManagedStatic.h"
 #include "llvm/Support/Path.h"
 #include "llvm/Support/PrettyStackTrace.h"
@@ -117,22 +117,22 @@ bool DarwinLdDriver::parse(int argc, con
                                       OPT_bundle, OPT_static, OPT_preload)) {
     switch (kind->getOption().getID()) {
     case OPT_dylib:
-      ctx.setOutputFileType(mach_o::MH_DYLIB);
+      ctx.setOutputFileType(llvm::MachO::MH_DYLIB);
       ctx.setGlobalsAreDeadStripRoots(true);
       break;
     case OPT_relocatable:
       ctx.setPrintRemainingUndefines(false);
       ctx.setAllowRemainingUndefines(true);
-      ctx.setOutputFileType(mach_o::MH_OBJECT);
+      ctx.setOutputFileType(llvm::MachO::MH_OBJECT);
       break;
     case OPT_bundle:
-      ctx.setOutputFileType(mach_o::MH_BUNDLE);
+      ctx.setOutputFileType(llvm::MachO::MH_BUNDLE);
       break;
     case OPT_static:
-      ctx.setOutputFileType(mach_o::MH_EXECUTE);
+      ctx.setOutputFileType(llvm::MachO::MH_EXECUTE);
       break;
     case OPT_preload:
-      ctx.setOutputFileType(mach_o::MH_PRELOAD);
+      ctx.setOutputFileType(llvm::MachO::MH_PRELOAD);
       break;
     }
   }
@@ -164,7 +164,7 @@ bool DarwinLdDriver::parse(int argc, con
   // Handle -compatibility_version and -current_version
   if (llvm::opt::Arg *vers =
           parsedArgs->getLastArg(OPT_compatibility_version)) {
-    if (ctx.outputFileType() != mach_o::MH_DYLIB) {
+    if (ctx.outputFileType() != llvm::MachO::MH_DYLIB) {
       diagnostics
           << "error: -compatibility_version can only be used with -dylib\n";
       return false;
@@ -178,7 +178,7 @@ bool DarwinLdDriver::parse(int argc, con
   }
 
   if (llvm::opt::Arg *vers = parsedArgs->getLastArg(OPT_current_version)) {
-    if (ctx.outputFileType() != mach_o::MH_DYLIB) {
+    if (ctx.outputFileType() != llvm::MachO::MH_DYLIB) {
       diagnostics << "-current_version can only be used with -dylib\n";
       return false;
     }

Modified: lld/trunk/lib/ReaderWriter/MachO/ExecutableAtoms.hpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/ExecutableAtoms.hpp?rev=191581&r1=191580&r2=191581&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/MachO/ExecutableAtoms.hpp (original)
+++ lld/trunk/lib/ReaderWriter/MachO/ExecutableAtoms.hpp Fri Sep 27 17:50:00 2013
@@ -10,6 +10,7 @@
 #ifndef LLD_READER_WRITER_MACHO_EXECUTABLE_ATOM_H_
 #define LLD_READER_WRITER_MACHO_EXECUTABLE_ATOM_H_
 
+#include "llvm/Support/MachO.h"
 
 #include "lld/Core/DefinedAtom.h"
 #include "lld/Core/UndefinedAtom.h"
@@ -32,7 +33,7 @@ public:
       : SimpleFile(context, "C runtime"),
         _undefMain(*this, context.entrySymbolName()) {
       // only main executables need _main
-      if (context.outputFileType() == MH_EXECUTE) {
+      if (context.outputFileType() == llvm::MachO::MH_EXECUTE) {
         this->addAtom(_undefMain);
       }
    }

Modified: lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp?rev=191581&r1=191580&r2=191581&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp (original)
+++ lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp Fri Sep 27 17:50:00 2013
@@ -8,7 +8,6 @@
 //===----------------------------------------------------------------------===//
 
 #include "lld/ReaderWriter/MachOLinkingContext.h"
-#include "lld/ReaderWriter/MachOFormat.hpp"
 #include "GOTPass.hpp"
 #include "StubsPass.hpp"
 #include "ReferenceKinds.h"
@@ -20,6 +19,7 @@
 
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/Triple.h"
+#include "llvm/Support/MachO.h"
 
 using lld::mach_o::KindHandler;
 
@@ -68,16 +68,16 @@ struct ArchInfo {
 };
 
 static ArchInfo archInfos[] = {
-  { "x86_64", MachOLinkingContext::arch_x86_64, mach_o::CPU_TYPE_X86_64,
-    mach_o::CPU_SUBTYPE_X86_64_ALL },
-  { "i386", MachOLinkingContext::arch_x86, mach_o::CPU_TYPE_I386,
-    mach_o::CPU_SUBTYPE_X86_ALL },
-  { "armv6", MachOLinkingContext::arch_armv6, mach_o::CPU_TYPE_ARM,
-    mach_o::CPU_SUBTYPE_ARM_V6 },
-  { "armv7", MachOLinkingContext::arch_armv7, mach_o::CPU_TYPE_ARM,
-    mach_o::CPU_SUBTYPE_ARM_V7 },
-  { "armv7s", MachOLinkingContext::arch_armv7s, mach_o::CPU_TYPE_ARM,
-    mach_o::CPU_SUBTYPE_ARM_V7S },
+  { "x86_64", MachOLinkingContext::arch_x86_64, llvm::MachO::CPU_TYPE_X86_64,
+    llvm::MachO::CPU_SUBTYPE_X86_64_ALL },
+  { "i386", MachOLinkingContext::arch_x86, llvm::MachO::CPU_TYPE_I386,
+    llvm::MachO::CPU_SUBTYPE_X86_ALL },
+  { "armv6", MachOLinkingContext::arch_armv6, llvm::MachO::CPU_TYPE_ARM,
+    llvm::MachO::CPU_SUBTYPE_ARM_V6 },
+  { "armv7", MachOLinkingContext::arch_armv7, llvm::MachO::CPU_TYPE_ARM,
+    llvm::MachO::CPU_SUBTYPE_ARM_V7 },
+  { "armv7s", MachOLinkingContext::arch_armv7s, llvm::MachO::CPU_TYPE_ARM,
+    llvm::MachO::CPU_SUBTYPE_ARM_V7S },
   { StringRef(), MachOLinkingContext::arch_unknown, 0, 0 }
 };
 
@@ -122,7 +122,7 @@ uint32_t MachOLinkingContext::cpuSubtype
 }
 
 MachOLinkingContext::MachOLinkingContext()
-    : _outputFileType(mach_o::MH_EXECUTE), _outputFileTypeStatic(false),
+    : _outputFileType(llvm::MachO::MH_EXECUTE), _outputFileTypeStatic(false),
       _doNothing(false), _arch(arch_unknown), _os(OS::macOSX), _osMinVersion(0),
       _pageZeroSize(0x1000), _compatibilityVersion(0), _currentVersion(0),
       _deadStrippableDylib(false), _kindHandler(nullptr) {}
@@ -139,9 +139,9 @@ uint32_t MachOLinkingContext::getCPUSubT
 
 bool MachOLinkingContext::outputTypeHasEntry() const {
   switch (_outputFileType) {
-  case mach_o::MH_EXECUTE:
-  case mach_o::MH_DYLINKER:
-  case mach_o::MH_PRELOAD:
+  case llvm::MachO::MH_EXECUTE:
+  case llvm::MachO::MH_DYLINKER:
+  case llvm::MachO::MH_PRELOAD:
     return true;
   default:
     return false;
@@ -168,7 +168,7 @@ bool MachOLinkingContext::minOS(StringRe
 }
 
 bool MachOLinkingContext::addEntryPointLoadCommand() const {
-  if ((_outputFileType == mach_o::MH_EXECUTE) && !_outputFileTypeStatic) {
+  if ((_outputFileType == llvm::MachO::MH_EXECUTE) && !_outputFileTypeStatic) {
     return minOS("10.8", "6.0");
   }
   return false;
@@ -176,14 +176,14 @@ bool MachOLinkingContext::addEntryPointL
 
 bool MachOLinkingContext::addUnixThreadLoadCommand() const {
   switch (_outputFileType) {
-  case mach_o::MH_EXECUTE:
+  case llvm::MachO::MH_EXECUTE:
     if (_outputFileTypeStatic)
       return true;
     else
       return !minOS("10.8", "6.0");
     break;
-  case mach_o::MH_DYLINKER:
-  case mach_o::MH_PRELOAD:
+  case llvm::MachO::MH_DYLINKER:
+  case llvm::MachO::MH_PRELOAD:
     return true;
   default:
     return false;
@@ -191,7 +191,7 @@ bool MachOLinkingContext::addUnixThreadL
 }
 
 bool MachOLinkingContext::validateImpl(raw_ostream &diagnostics) {
-  if ((_outputFileType == mach_o::MH_EXECUTE) && _entrySymbolName.empty()) {
+  if ((_outputFileType == llvm::MachO::MH_EXECUTE) && _entrySymbolName.empty()){
     if (_outputFileTypeStatic) {
       _entrySymbolName = "start";
     } else {
@@ -205,24 +205,24 @@ bool MachOLinkingContext::validateImpl(r
     }
   }
 
-  if (_currentVersion && _outputFileType != mach_o::MH_DYLIB) {
+  if (_currentVersion && _outputFileType != llvm::MachO::MH_DYLIB) {
     diagnostics << "error: -current_version can only be used with dylibs\n";
     return false;
   }
 
-  if (_compatibilityVersion && _outputFileType != mach_o::MH_DYLIB) {
+  if (_compatibilityVersion && _outputFileType != llvm::MachO::MH_DYLIB) {
     diagnostics
         << "error: -compatibility_version can only be used with dylibs\n";
     return false;
   }
 
-  if (_deadStrippableDylib && _outputFileType != mach_o::MH_DYLIB) {
+  if (_deadStrippableDylib && _outputFileType != llvm::MachO::MH_DYLIB) {
     diagnostics
         << "error: -mark_dead_strippable_dylib can only be used with dylibs.\n";
     return false;
   }
 
-  if (!_bundleLoader.empty() && outputFileType() != mach_o::MH_BUNDLE) {
+  if (!_bundleLoader.empty() && outputFileType() != llvm::MachO::MH_BUNDLE) {
     diagnostics
         << "error: -bundle_loader can only be used with Mach-O bundles\n";
     return false;

Modified: lld/trunk/unittests/DriverTests/DarwinLdDriverTest.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/unittests/DriverTests/DarwinLdDriverTest.cpp?rev=191581&r1=191580&r2=191581&view=diff
==============================================================================
--- lld/trunk/unittests/DriverTests/DarwinLdDriverTest.cpp (original)
+++ lld/trunk/unittests/DriverTests/DarwinLdDriverTest.cpp Fri Sep 27 17:50:00 2013
@@ -14,8 +14,9 @@
 
 #include "DriverTest.h"
 
+#include "llvm/Support/MachO.h"
+
 #include "lld/ReaderWriter/MachOLinkingContext.h"
-#include "lld/ReaderWriter/MachOFormat.hpp"
 
 using namespace llvm;
 using namespace lld;
@@ -44,27 +45,27 @@ TEST_F(DarwinLdParserTest, Output) {
 
 TEST_F(DarwinLdParserTest, Dylib) {
   EXPECT_TRUE(parse("ld", "-dylib", "foo.o", nullptr));
-  EXPECT_EQ(mach_o::MH_DYLIB, _context.outputFileType());
+  EXPECT_EQ(llvm::MachO::MH_DYLIB, _context.outputFileType());
 }
 
 TEST_F(DarwinLdParserTest, Relocatable) {
   EXPECT_TRUE(parse("ld", "-r", "foo.o", nullptr));
-  EXPECT_EQ(mach_o::MH_OBJECT, _context.outputFileType());
+  EXPECT_EQ(llvm::MachO::MH_OBJECT, _context.outputFileType());
 }
 
 TEST_F(DarwinLdParserTest, Bundle) {
   EXPECT_TRUE(parse("ld", "-bundle", "foo.o", nullptr));
-  EXPECT_EQ(mach_o::MH_BUNDLE, _context.outputFileType());
+  EXPECT_EQ(llvm::MachO::MH_BUNDLE, _context.outputFileType());
 }
 
 TEST_F(DarwinLdParserTest, Preload) {
   EXPECT_TRUE(parse("ld", "-preload", "foo.o", nullptr));
-  EXPECT_EQ(mach_o::MH_PRELOAD, _context.outputFileType());
+  EXPECT_EQ(llvm::MachO::MH_PRELOAD, _context.outputFileType());
 }
 
 TEST_F(DarwinLdParserTest, Static) {
   EXPECT_TRUE(parse("ld", "-static", "foo.o", nullptr));
-  EXPECT_EQ(mach_o::MH_EXECUTE, _context.outputFileType());
+  EXPECT_EQ(llvm::MachO::MH_EXECUTE, _context.outputFileType());
 }
 
 TEST_F(DarwinLdParserTest, Entry) {
@@ -95,36 +96,36 @@ TEST_F(DarwinLdParserTest, DeadStripRoot
 TEST_F(DarwinLdParserTest, Arch) {
   EXPECT_TRUE(parse("ld", "-arch", "x86_64", "foo.o", nullptr));
   EXPECT_EQ(MachOLinkingContext::arch_x86_64, _context.arch());
-  EXPECT_EQ(mach_o::CPU_TYPE_X86_64, _context.getCPUType());
-  EXPECT_EQ(mach_o::CPU_SUBTYPE_X86_64_ALL, _context.getCPUSubType());
+  EXPECT_EQ((uint32_t)llvm::MachO::CPU_TYPE_X86_64, _context.getCPUType());
+  EXPECT_EQ(llvm::MachO::CPU_SUBTYPE_X86_64_ALL, _context.getCPUSubType());
 }
 
 TEST_F(DarwinLdParserTest, Arch_x86) {
   EXPECT_TRUE(parse("ld", "-arch", "i386", "foo.o", nullptr));
   EXPECT_EQ(MachOLinkingContext::arch_x86, _context.arch());
-  EXPECT_EQ(mach_o::CPU_TYPE_I386, _context.getCPUType());
-  EXPECT_EQ(mach_o::CPU_SUBTYPE_X86_ALL, _context.getCPUSubType());
+  EXPECT_EQ((uint32_t)llvm::MachO::CPU_TYPE_I386, _context.getCPUType());
+  EXPECT_EQ(llvm::MachO::CPU_SUBTYPE_X86_ALL, _context.getCPUSubType());
 }
 
 TEST_F(DarwinLdParserTest, Arch_armv6) {
   EXPECT_TRUE(parse("ld", "-arch", "armv6", "foo.o", nullptr));
   EXPECT_EQ(MachOLinkingContext::arch_armv6, _context.arch());
-  EXPECT_EQ(mach_o::CPU_TYPE_ARM, _context.getCPUType());
-  EXPECT_EQ(mach_o::CPU_SUBTYPE_ARM_V6, _context.getCPUSubType());
+  EXPECT_EQ((uint32_t)llvm::MachO::CPU_TYPE_ARM, _context.getCPUType());
+  EXPECT_EQ(llvm::MachO::CPU_SUBTYPE_ARM_V6, _context.getCPUSubType());
 }
 
 TEST_F(DarwinLdParserTest, Arch_armv7) {
   EXPECT_TRUE(parse("ld", "-arch", "armv7", "foo.o", nullptr));
   EXPECT_EQ(MachOLinkingContext::arch_armv7, _context.arch());
-  EXPECT_EQ(mach_o::CPU_TYPE_ARM, _context.getCPUType());
-  EXPECT_EQ(mach_o::CPU_SUBTYPE_ARM_V7, _context.getCPUSubType());
+  EXPECT_EQ((uint32_t)llvm::MachO::CPU_TYPE_ARM, _context.getCPUType());
+  EXPECT_EQ(llvm::MachO::CPU_SUBTYPE_ARM_V7, _context.getCPUSubType());
 }
 
 TEST_F(DarwinLdParserTest, Arch_armv7s) {
   EXPECT_TRUE(parse("ld", "-arch", "armv7s", "foo.o", nullptr));
   EXPECT_EQ(MachOLinkingContext::arch_armv7s, _context.arch());
-  EXPECT_EQ(mach_o::CPU_TYPE_ARM, _context.getCPUType());
-  EXPECT_EQ(mach_o::CPU_SUBTYPE_ARM_V7S, _context.getCPUSubType());
+  EXPECT_EQ((uint32_t)llvm::MachO::CPU_TYPE_ARM, _context.getCPUType());
+  EXPECT_EQ(llvm::MachO::CPU_SUBTYPE_ARM_V7S, _context.getCPUSubType());
 }
 
 TEST_F(DarwinLdParserTest, MinMacOSX10_7) {





More information about the llvm-commits mailing list