You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
46 lines
1.2 KiB
//===- X86GNUInfo.h -------------------------------------------------------===//
|
|
//
|
|
// The MCLinker Project
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
#ifndef TARGET_X86_X86GNUINFO_H_
|
|
#define TARGET_X86_X86GNUINFO_H_
|
|
#include "mcld/Target/GNUInfo.h"
|
|
|
|
#include <llvm/Support/ELF.h>
|
|
|
|
namespace mcld {
|
|
|
|
class X86_32GNUInfo : public GNUInfo {
|
|
public:
|
|
explicit X86_32GNUInfo(const llvm::Triple& pTriple) : GNUInfo(pTriple) {}
|
|
|
|
uint32_t machine() const { return llvm::ELF::EM_386; }
|
|
|
|
uint64_t defaultTextSegmentAddr() const { return 0x08048000; }
|
|
|
|
/// flags - the value of ElfXX_Ehdr::e_flags
|
|
/// FIXME
|
|
uint64_t flags() const { return 0x0; }
|
|
};
|
|
|
|
class X86_64GNUInfo : public GNUInfo {
|
|
public:
|
|
explicit X86_64GNUInfo(const llvm::Triple& pTriple) : GNUInfo(pTriple) {}
|
|
|
|
uint32_t machine() const { return llvm::ELF::EM_X86_64; }
|
|
|
|
uint64_t defaultTextSegmentAddr() const { return 0x400000; }
|
|
|
|
/// flags - the value of ElfXX_Ehdr::e_flags
|
|
/// FIXME
|
|
uint64_t flags() const { return 0x0; }
|
|
};
|
|
|
|
} // namespace mcld
|
|
|
|
#endif // TARGET_X86_X86GNUINFO_H_
|