| OLD | NEW |
| 1 //===-- ARMELFWriterInfo.cpp - ELF Writer Info for the ARM backend --------===// | 1 //===-- ARMELFWriterInfo.cpp - ELF Writer Info for the ARM backend --------===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This file implements ELF writer information for the ARM backend. | 10 // This file implements ELF writer information for the ARM backend. |
| 11 // | 11 // |
| 12 //===----------------------------------------------------------------------===// | 12 //===----------------------------------------------------------------------===// |
| 13 | 13 |
| 14 #include "ARMELFWriterInfo.h" | 14 #include "ARMELFWriterInfo.h" |
| 15 #include "ARMRelocations.h" | 15 #include "ARMRelocations.h" |
| 16 #include "llvm/Function.h" | 16 #include "llvm/Function.h" |
| 17 #include "llvm/CodeGen/BinaryObject.h" | 17 #include "llvm/CodeGen/BinaryObject.h" |
| 18 #include "llvm/Support/ErrorHandling.h" | 18 #include "llvm/Support/ErrorHandling.h" |
| 19 #include "llvm/CodeGen/MachineRelocation.h" |
| 19 #include "llvm/Target/TargetData.h" | 20 #include "llvm/Target/TargetData.h" |
| 20 #include "llvm/Target/TargetMachine.h" | 21 #include "llvm/Target/TargetMachine.h" |
| 21 | 22 |
| 22 using namespace llvm; | 23 using namespace llvm; |
| 23 | 24 |
| 24 //===----------------------------------------------------------------------===// | 25 //===----------------------------------------------------------------------===// |
| 26 // The ARMELFRelocHelper class |
| 27 //===----------------------------------------------------------------------===// |
| 28 |
| 29 class ARMELFRelocHelper : public TargetELFRelocHelper { |
| 30 public: |
| 31 virtual ~ARMELFRelocHelper() {}; |
| 32 virtual void RelocateField(BinaryObject &BO, uint32_t Offset, |
| 33 int64_t Value, unsigned Size, |
| 34 const MachineRelocation &MR) { |
| 35 assert(0 && "ARM RelocateField() unimplemented"); |
| 36 }; |
| 37 }; |
| 38 |
| 39 //===----------------------------------------------------------------------===// |
| 25 // Implementation of the ARMELFWriterInfo class | 40 // Implementation of the ARMELFWriterInfo class |
| 26 //===----------------------------------------------------------------------===// | 41 //===----------------------------------------------------------------------===// |
| 27 | 42 |
| 28 ARMELFWriterInfo::ARMELFWriterInfo(TargetMachine &TM) | 43 ARMELFWriterInfo::ARMELFWriterInfo(TargetMachine &TM) |
| 29 : TargetELFWriterInfo(TM.getTargetData()->getPointerSizeInBits() == 64, | 44 : TargetELFWriterInfo(TM.getTargetData()->getPointerSizeInBits() == 64, |
| 30 TM.getTargetData()->isLittleEndian()) { | 45 TM.getTargetData()->isLittleEndian()) { |
| 31 // silently OK construction | 46 // silently OK construction |
| 32 } | 47 } |
| 33 | 48 |
| 34 ARMELFWriterInfo::~ARMELFWriterInfo() {} | 49 ARMELFWriterInfo::~ARMELFWriterInfo() {} |
| (...skipping 26 matching lines...) Expand all Loading... |
| 61 return 0; | 76 return 0; |
| 62 } | 77 } |
| 63 | 78 |
| 64 long int ARMELFWriterInfo::computeRelocation(unsigned SymOffset, | 79 long int ARMELFWriterInfo::computeRelocation(unsigned SymOffset, |
| 65 unsigned RelOffset, | 80 unsigned RelOffset, |
| 66 unsigned RelTy) const { | 81 unsigned RelTy) const { |
| 67 assert(0 && | 82 assert(0 && |
| 68 "ARMELFWriterInfo::getAbsoluteLabelMachineRelTy() not implemented"); | 83 "ARMELFWriterInfo::getAbsoluteLabelMachineRelTy() not implemented"); |
| 69 return 0; | 84 return 0; |
| 70 } | 85 } |
| 86 |
| 87 TargetELFRelocHelper *ARMELFWriterInfo::getRelocHelper() const { |
| 88 return new ARMELFRelocHelper(); |
| 89 } |
| OLD | NEW |