1//===- GNUInfo.cpp --------------------------------------------------------===//
2//
3//                     The MCLinker Project
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9#include <mcld/Target/GNUInfo.h>
10
11using namespace mcld;
12
13//===----------------------------------------------------------------------===//
14// GNUInfo
15//===----------------------------------------------------------------------===//
16GNUInfo::GNUInfo(const llvm::Triple& pTriple)
17  : m_Triple(pTriple) {
18}
19
20uint8_t GNUInfo::OSABI() const
21{
22  switch (m_Triple.getOS()) {
23    case llvm::Triple::FreeBSD:
24      return llvm::ELF::ELFOSABI_FREEBSD;
25    case llvm::Triple::Linux:
26      return llvm::ELF::ELFOSABI_LINUX;
27    default:
28      return llvm::ELF::ELFOSABI_NONE;
29  }
30}
31
32