blob: 171ab4d9bf28464d0913a1d214df5187a8ede7a9 [file] [log] [blame]
Rafael Espindola6024c972010-12-17 17:45:22 +00001//===-- MCELFObjectTargetWriter.cpp - ELF Target Writer Subclass ----------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
Akira Hatanaka00ca8882012-03-23 23:06:45 +000010#include "llvm/ADT/STLExtras.h"
Rafael Espindola6024c972010-12-17 17:45:22 +000011#include "llvm/MC/MCELFObjectWriter.h"
12
13using namespace llvm;
14
Rafael Espindolabff66a82010-12-18 03:27:34 +000015MCELFObjectTargetWriter::MCELFObjectTargetWriter(bool Is64Bit_,
Rafael Espindoladc9a8a32011-12-21 17:00:36 +000016 uint8_t OSABI_,
Rafael Espindolabff66a82010-12-18 03:27:34 +000017 uint16_t EMachine_,
18 bool HasRelocationAddend_)
Rafael Espindoladc9a8a32011-12-21 17:00:36 +000019 : OSABI(OSABI_), EMachine(EMachine_),
Rafael Espindolabff66a82010-12-18 03:27:34 +000020 HasRelocationAddend(HasRelocationAddend_), Is64Bit(Is64Bit_) {
Rafael Espindola6024c972010-12-17 17:45:22 +000021}
22
Rafael Espindola69bbda02011-12-22 00:37:50 +000023/// Default e_flags = 0
24unsigned MCELFObjectTargetWriter::getEFlags() const {
25 return 0;
26}
27
28const MCSymbol *MCELFObjectTargetWriter::ExplicitRelSym(const MCAssembler &Asm,
29 const MCValue &Target,
30 const MCFragment &F,
31 const MCFixup &Fixup,
32 bool IsPCRel) const {
33 return NULL;
34}
35
36
Rafael Espindolaf3a86fb2011-12-22 01:57:09 +000037void MCELFObjectTargetWriter::adjustFixupOffset(const MCFixup &Fixup,
38 uint64_t &RelocOffset) {
39}
Akira Hatanaka00ca8882012-03-23 23:06:45 +000040
41void
42MCELFObjectTargetWriter::sortRelocs(const MCAssembler &Asm,
43 std::vector<ELFRelocationEntry> &Relocs) {
44 // Sort by the r_offset, just like gnu as does.
45 array_pod_sort(Relocs.begin(), Relocs.end());
46}