diff options
| author | Akira Hatanaka <ahatanaka@mips.com> | 2011-11-23 22:18:04 +0000 |
|---|---|---|
| committer | Akira Hatanaka <ahatanaka@mips.com> | 2011-11-23 22:18:04 +0000 |
| commit | f5ddf13f79b1d83c14a8a9b6c8df3f2f053a4088 (patch) | |
| tree | 93892c51dea4ec5d419e522aa59fde588471806e /llvm/lib/MC/MCObjectStreamer.cpp | |
| parent | 4f9a8081c370543c568a098138bcb785a7143469 (diff) | |
| download | bcm5719-llvm-f5ddf13f79b1d83c14a8a9b6c8df3f2f053a4088.tar.gz bcm5719-llvm-f5ddf13f79b1d83c14a8a9b6c8df3f2f053a4088.zip | |
This patch addresses gp relative fixups/relocations for jump tables.
llvm-svn: 145112
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
| -rw-r--r-- | llvm/lib/MC/MCObjectStreamer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index a04ae0812a3..90c957f7be8 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -245,6 +245,16 @@ void MCObjectStreamer::EmitValueToOffset(const MCExpr *Offset, EmitFill(Res, Value, 0); } +// Associate GPRel32 fixup with data and resize data area +void MCObjectStreamer::EmitGPRel32Value(const MCExpr *Value) { + MCDataFragment *DF = getOrCreateDataFragment(); + + DF->addFixup(MCFixup::Create(DF->getContents().size(), + Value, + FK_GPRel_4)); + DF->getContents().resize(DF->getContents().size() + 4, 0); +} + void MCObjectStreamer::Finish() { // Dump out the dwarf file & directory tables and line tables. if (getContext().hasDwarfFiles()) |

