aboutsummaryrefslogtreecommitdiff
path: root/llvm/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
commit64ad2cf1e40683adbebd564e8564670a787303de (patch)
tree0f66622580d33de79ccbaa589ca2a34bd7d1a31b /llvm/lib/MC/MCELFObjectTargetWriter.cpp
parente3ed2b0699a22cb986831c6f57da24c99419461f (diff)
downloadllvm-64ad2cf1e40683adbebd564e8564670a787303de.zip
llvm-64ad2cf1e40683adbebd564e8564670a787303de.tar.gz
llvm-64ad2cf1e40683adbebd564e8564670a787303de.tar.bz2
Add a hook in MCELFObjectTargetWriter to allow targets to sort relocation
entries in the relocation table before they are written out to the file. llvm-svn: 153345
Diffstat (limited to 'llvm/lib/MC/MCELFObjectTargetWriter.cpp')
-rw-r--r--llvm/lib/MC/MCELFObjectTargetWriter.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCELFObjectTargetWriter.cpp b/llvm/lib/MC/MCELFObjectTargetWriter.cpp
index 15bf476..171ab4d 100644
--- a/llvm/lib/MC/MCELFObjectTargetWriter.cpp
+++ b/llvm/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());
+}