diff options
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/PPC')
| -rw-r--r-- | lld/lib/ReaderWriter/ELF/PPC/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | lld/lib/ReaderWriter/ELF/PPC/PPCELFTarget.h | 9 | ||||
| -rw-r--r-- | lld/lib/ReaderWriter/ELF/PPC/PPCELFTargetInfo.h | 38 | ||||
| -rw-r--r-- | lld/lib/ReaderWriter/ELF/PPC/PPCTargetInfo.cpp | 0 |
4 files changed, 52 insertions, 0 deletions
diff --git a/lld/lib/ReaderWriter/ELF/PPC/CMakeLists.txt b/lld/lib/ReaderWriter/ELF/PPC/CMakeLists.txt new file mode 100644 index 00000000000..8a825f5559b --- /dev/null +++ b/lld/lib/ReaderWriter/ELF/PPC/CMakeLists.txt @@ -0,0 +1,5 @@ +add_lld_library(lldPPCELFTarget + PPCTargetInfo.cpp + ) + +target_link_libraries(lldPPCELFTarget) diff --git a/lld/lib/ReaderWriter/ELF/PPC/PPCELFTarget.h b/lld/lib/ReaderWriter/ELF/PPC/PPCELFTarget.h new file mode 100644 index 00000000000..78051906184 --- /dev/null +++ b/lld/lib/ReaderWriter/ELF/PPC/PPCELFTarget.h @@ -0,0 +1,9 @@ +//===- lib/ReaderWriter/ELF/PPC/PPCELFTarget.h ---------------------------===// +// +// The LLVM Linker +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#include "PPCELFTargetInfo.h" diff --git a/lld/lib/ReaderWriter/ELF/PPC/PPCELFTargetInfo.h b/lld/lib/ReaderWriter/ELF/PPC/PPCELFTargetInfo.h new file mode 100644 index 00000000000..9a6cb837b06 --- /dev/null +++ b/lld/lib/ReaderWriter/ELF/PPC/PPCELFTargetInfo.h @@ -0,0 +1,38 @@ +//===- lib/ReaderWriter/ELF/Hexagon/PPCTargetInfo.h -----------------------===// +// +// The LLVM Linker +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLD_READER_WRITER_ELF_PPC_TARGETINFO_H +#define LLD_READER_WRITER_ELF_PPC_TARGETINFO_H + +#include "lld/ReaderWriter/ELFTargetInfo.h" +#include "lld/Core/LinkerOptions.h" +#include "llvm/Object/ELF.h" +#include "llvm/Support/ELF.h" + +#include "DefaultELFTargetHandler.h" + +namespace lld { +namespace elf { +class PPCELFTargetInfo LLVM_FINAL : public ELFTargetInfo { +public: + PPCELFTargetInfo(const LinkerOptions &lo) : ELFTargetInfo(lo) { + _targetHandler = std::unique_ptr<ELFTargetHandlerBase>( + new DefaultELFTargetHandler< + llvm::object::ELFType<llvm::support::big, 4, false> >(*this)); + } + + virtual bool isLittleEndian() const { return false; } + + virtual uint64_t getPageSize() const { return 0x1000; } +}; + +} // elf +} // lld + +#endif // LLD_READER_WRITER_ELF_PPC_TARGETINFO_H diff --git a/lld/lib/ReaderWriter/ELF/PPC/PPCTargetInfo.cpp b/lld/lib/ReaderWriter/ELF/PPC/PPCTargetInfo.cpp new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/lld/lib/ReaderWriter/ELF/PPC/PPCTargetInfo.cpp |

