//===- HexagonGNUInfo.h ---------------------------------------------------===// // // The MCLinker Project // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef TARGET_HEXAGON_HEXAGONGNUINFO_H_ #define TARGET_HEXAGON_HEXAGONGNUINFO_H_ #include "mcld/Target/GNUInfo.h" #include "mcld/TargetOptions.h" #include namespace mcld { class HexagonGNUInfo : public GNUInfo { public: enum CPUType { V3 = 0x2, V4 = 0x3, V5 }; public: explicit HexagonGNUInfo(const TargetOptions& pTargetOptions); uint32_t machine() const { return llvm::ELF::EM_HEXAGON; } uint64_t defaultTextSegmentAddr() const { return 0x0; } /// flags - the value of ElfXX_Ehdr::e_flags uint64_t flags() const; private: const TargetOptions& m_Options; }; } // namespace mcld #endif // TARGET_HEXAGON_HEXAGONGNUINFO_H_