//===- Bits.h ---------------------------------------------------*- C++ -*-===// // // The LLVM Linker // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef LLD_ELF_BITS_H #define LLD_ELF_BITS_H #include "Config.h" #include "llvm/Support/Endian.h" namespace lld { namespace elf { inline uint64_t readUint(uint8_t *Buf) { if (Config->Is64) return llvm::support::endian::read64(Buf, Config->Endianness); return llvm::support::endian::read32(Buf, Config->Endianness); } inline void writeUint(uint8_t *Buf, uint64_t Val) { if (Config->Is64) llvm::support::endian::write64(Buf, Val, Config->Endianness); else llvm::support::endian::write32(Buf, Val, Config->Endianness); } } // namespace elf } // namespace lld #endif