diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:03:39 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:03:39 +0000 |
commit | d2d3ebb81992e107edf95c1c136d7a342d9b1418 (patch) | |
tree | bb1af8fff2b1400cf240e3b2532a1e5d22a121da /lib | |
parent | 16787c9ce0b96aaa669d7fab3a495916b35ce758 (diff) |
Notes
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Core/CMakeLists.txt | 9 | ||||
-rw-r--r-- | lib/Core/TargetOptionsCommandFlags.cpp | 32 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/ArchHandler_arm64.cpp | 4 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/ArchHandler_x86.cpp | 9 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/CMakeLists.txt | 2 |
5 files changed, 43 insertions, 13 deletions
diff --git a/lib/Core/CMakeLists.txt b/lib/Core/CMakeLists.txt index 7f4c47f14b90a..bbd9ad48b6dfc 100644 --- a/lib/Core/CMakeLists.txt +++ b/lib/Core/CMakeLists.txt @@ -1,3 +1,7 @@ +if(NOT LLD_BUILT_STANDALONE) + set(tablegen_deps intrinsics_gen) +endif() + add_lld_library(lldCore DefinedAtom.cpp Error.cpp @@ -7,11 +11,16 @@ add_lld_library(lldCore Reproduce.cpp Resolver.cpp SymbolTable.cpp + TargetOptionsCommandFlags.cpp Writer.cpp ADDITIONAL_HEADER_DIRS ${LLD_INCLUDE_DIR}/lld/Core LINK_COMPONENTS + MC Support + + DEPENDS + ${tablegen_deps} ) diff --git a/lib/Core/TargetOptionsCommandFlags.cpp b/lib/Core/TargetOptionsCommandFlags.cpp new file mode 100644 index 0000000000000..e0f26761e705d --- /dev/null +++ b/lib/Core/TargetOptionsCommandFlags.cpp @@ -0,0 +1,32 @@ +//===-- TargetOptionsCommandFlags.cpp ---------------------------*- C++ -*-===// +// +// The LLVM Linker +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file exists as a place for global variables defined in LLVM's +// CodeGen/CommandFlags.h. By putting the resulting object file in +// an archive and linking with it, the definitions will automatically be +// included when needed and skipped when already present. +// +//===----------------------------------------------------------------------===// + +#include "lld/Core/TargetOptionsCommandFlags.h" + +#include "llvm/CodeGen/CommandFlags.h" +#include "llvm/Target/TargetOptions.h" + +// Define an externally visible version of +// InitTargetOptionsFromCodeGenFlags, so that its functionality can be +// used without having to include llvm/CodeGen/CommandFlags.h, which +// would lead to multiple definitions of the command line flags. +llvm::TargetOptions lld::InitTargetOptionsFromCodeGenFlags() { + return ::InitTargetOptionsFromCodeGenFlags(); +} + +llvm::CodeModel::Model lld::GetCodeModelFromCMModel() { + return CMModel; +} diff --git a/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp b/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp index 392a1be5b3d01..10360b5c6dda8 100644 --- a/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp +++ b/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp @@ -51,11 +51,7 @@ public: canBypassGOT = true; return true; case delta32ToGOT: - canBypassGOT = false; - return true; case unwindCIEToPersonalityFunction: - canBypassGOT = false; - return true; case imageOffsetGot: canBypassGOT = false; return true; diff --git a/lib/ReaderWriter/MachO/ArchHandler_x86.cpp b/lib/ReaderWriter/MachO/ArchHandler_x86.cpp index c940ea542ee40..2272bff65ccb2 100644 --- a/lib/ReaderWriter/MachO/ArchHandler_x86.cpp +++ b/lib/ReaderWriter/MachO/ArchHandler_x86.cpp @@ -118,14 +118,7 @@ public: normalized::Relocations &relocs) override; bool isDataInCodeTransition(Reference::KindValue refKind) override { - switch (refKind) { - case modeCode: - case modeData: - return true; - default: - return false; - break; - } + return refKind == modeCode || refKind == modeData; } Reference::KindValue dataInCodeTransitionStart( diff --git a/lib/ReaderWriter/MachO/CMakeLists.txt b/lib/ReaderWriter/MachO/CMakeLists.txt index 3b0698525aa58..5a96d87f1f7a1 100644 --- a/lib/ReaderWriter/MachO/CMakeLists.txt +++ b/lib/ReaderWriter/MachO/CMakeLists.txt @@ -28,7 +28,7 @@ add_lld_library(lldMachO LINK_LIBS lldCore lldYAML - ${PTHREAD_LIB} + ${LLVM_PTHREAD_LIB} ) include_directories(.) |