1 //===-- ARMELFWriterInfo.cpp - ELF Writer Info for the ARM backend --------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file implements ELF writer information for the ARM backend.
12 //===----------------------------------------------------------------------===//
14 #include "ARMELFWriterInfo.h"
15 #include "ARMRelocations.h"
16 #include "llvm/Function.h"
17 #include "llvm/Support/ErrorHandling.h"
18 #include "llvm/Target/TargetData.h"
19 #include "llvm/Target/TargetMachine.h"
23 //===----------------------------------------------------------------------===//
24 // Implementation of the ARMELFWriterInfo class
25 //===----------------------------------------------------------------------===//
27 ARMELFWriterInfo::ARMELFWriterInfo(TargetMachine
&TM
)
28 : TargetELFWriterInfo(TM
.getTargetData()->getPointerSizeInBits() == 64,
29 TM
.getTargetData()->isLittleEndian()) {
30 // silently OK construction
33 ARMELFWriterInfo::~ARMELFWriterInfo() {}
35 unsigned ARMELFWriterInfo::getRelocationType(unsigned MachineRelTy
) const {
36 assert(0 && "ARMELFWriterInfo::getRelocationType() not implemented");
40 long int ARMELFWriterInfo::getDefaultAddendForRelTy(unsigned RelTy
,
41 long int Modifier
) const {
42 assert(0 && "ARMELFWriterInfo::getDefaultAddendForRelTy() not implemented");
46 unsigned ARMELFWriterInfo::getRelocationTySize(unsigned RelTy
) const {
47 assert(0 && "ARMELFWriterInfo::getRelocationTySize() not implemented");
51 bool ARMELFWriterInfo::isPCRelativeRel(unsigned RelTy
) const {
52 assert(0 && "ARMELFWriterInfo::isPCRelativeRel() not implemented");
56 unsigned ARMELFWriterInfo::getAbsoluteLabelMachineRelTy() const {
58 "ARMELFWriterInfo::getAbsoluteLabelMachineRelTy() not implemented");
62 long int ARMELFWriterInfo::computeRelocation(unsigned SymOffset
,
64 unsigned RelTy
) const {
66 "ARMELFWriterInfo::getAbsoluteLabelMachineRelTy() not implemented");