summaryrefslogtreecommitdiffstats
path: root/lld/lib/Core
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2013-01-22 02:15:30 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2013-01-22 02:15:30 +0000
commitd68d6196afc47b3fe0a0953d4d7fa08cfc90f17e (patch)
tree8b671b631457ac1e5b91dd798754cbe9c511b020 /lld/lib/Core
parentdf0b43d1f9988e055ec590531b640d64d87a8a8d (diff)
downloadbcm5719-llvm-d68d6196afc47b3fe0a0953d4d7fa08cfc90f17e.tar.gz
bcm5719-llvm-d68d6196afc47b3fe0a0953d4d7fa08cfc90f17e.zip
Add {,ELF,MachO}TargetInfo.
llvm-svn: 173117
Diffstat (limited to 'lld/lib/Core')
-rw-r--r--lld/lib/Core/CMakeLists.txt1
-rw-r--r--lld/lib/Core/TargetInfo.cpp35
2 files changed, 36 insertions, 0 deletions
diff --git a/lld/lib/Core/CMakeLists.txt b/lld/lib/Core/CMakeLists.txt
index 877da26aca3..44becf48903 100644
--- a/lld/lib/Core/CMakeLists.txt
+++ b/lld/lib/Core/CMakeLists.txt
@@ -7,4 +7,5 @@ add_lld_library(lldCore
InputFiles.cpp
Resolver.cpp
SymbolTable.cpp
+ TargetInfo.cpp
)
diff --git a/lld/lib/Core/TargetInfo.cpp b/lld/lib/Core/TargetInfo.cpp
new file mode 100644
index 00000000000..da834fb2c9c
--- /dev/null
+++ b/lld/lib/Core/TargetInfo.cpp
@@ -0,0 +1,35 @@
+//===- lib/Core/TargetInfo.cpp - Linker Target Info Interface -------------===//
+//
+// The LLVM Linker
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "lld/Core/TargetInfo.h"
+
+#include "lld/Core/LinkerOptions.h"
+
+#include "llvm/ADT/Triple.h"
+
+namespace lld {
+TargetInfo::~TargetInfo() {}
+
+llvm::Triple TargetInfo::getTriple() const {
+ return llvm::Triple(llvm::Triple::normalize(_options._target));
+}
+
+bool TargetInfo::is64Bits() const {
+ return getTriple().isArch64Bit();
+}
+
+bool TargetInfo::isLittleEndian() const {
+ // TODO: Do this properly. It is not defined purely by arch.
+ return true;
+}
+
+StringRef TargetInfo::getEntry() const {
+ return _options._entrySymbol;
+}
+} // end namespace lld
OpenPOWER on IntegriCloud