summaryrefslogtreecommitdiff
path: root/lib/MC/MCELFObjectTargetWriter.cpp
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-03-23 23:06:45 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-03-23 23:06:45 +0000
commit00ca888cccd130dd3ebcfc02cf2b9187b54d116e (patch)
treea51008a729525e86a7ce882922549caa88a4137a /lib/MC/MCELFObjectTargetWriter.cpp
parent6fedb3c4016b8f706c472280a3a9b22430c73ef4 (diff)
downloadllvm-00ca888cccd130dd3ebcfc02cf2b9187b54d116e.tar.gz
llvm-00ca888cccd130dd3ebcfc02cf2b9187b54d116e.tar.bz2
llvm-00ca888cccd130dd3ebcfc02cf2b9187b54d116e.tar.xz
Add a hook in MCELFObjectTargetWriter to allow targets to sort relocation
entries in the relocation table before they are written out to the file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153345 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCELFObjectTargetWriter.cpp')
-rw-r--r--lib/MC/MCELFObjectTargetWriter.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/MC/MCELFObjectTargetWriter.cpp b/lib/MC/MCELFObjectTargetWriter.cpp
index 15bf476715..171ab4d9bf 100644
--- a/lib/MC/MCELFObjectTargetWriter.cpp
+++ b/lib/MC/MCELFObjectTargetWriter.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+#include "llvm/ADT/STLExtras.h"
#include "llvm/MC/MCELFObjectWriter.h"
using namespace llvm;
@@ -36,3 +37,10 @@ const MCSymbol *MCELFObjectTargetWriter::ExplicitRelSym(const MCAssembler &Asm,
void MCELFObjectTargetWriter::adjustFixupOffset(const MCFixup &Fixup,
uint64_t &RelocOffset) {
}
+
+void
+MCELFObjectTargetWriter::sortRelocs(const MCAssembler &Asm,
+ std::vector<ELFRelocationEntry> &Relocs) {
+ // Sort by the r_offset, just like gnu as does.
+ array_pod_sort(Relocs.begin(), Relocs.end());
+}