diff options
author | Jack Carter <jcarter@mips.com> | 2012-11-21 23:38:59 +0000 |
---|---|---|
committer | Jack Carter <jcarter@mips.com> | 2012-11-21 23:38:59 +0000 |
commit | b05cb67b81550c31ac7af441b5aabfc88d3576ea (patch) | |
tree | c729276503a4ac2e8c87e577bc5e71299fa522e0 /llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp | |
parent | 2fef6b6a1eb99cd75846a8ef22c9e0b36b3806c7 (diff) | |
download | bcm5719-llvm-b05cb67b81550c31ac7af441b5aabfc88d3576ea.tar.gz bcm5719-llvm-b05cb67b81550c31ac7af441b5aabfc88d3576ea.zip |
Mips direct object xgot support
This patch provides support for the MIPS relocations:
*) R_MIPS_GOT_HI16
*) R_MIPS_GOT_LO16
*) R_MIPS_CALL_HI16
*) R_MIPS_CALL_LO16
These are used for large GOT instruction sequences.
Contributer: Jack Carter
llvm-svn: 168471
Diffstat (limited to 'llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp b/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp index 5d240fe8470..f82e203c23c 100644 --- a/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp +++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp @@ -179,6 +179,18 @@ unsigned MipsELFObjectWriter::GetRelocType(const MCValue &Target, case Mips::fixup_Mips_HIGHEST: Type = ELF::R_MIPS_HIGHEST; break; + case Mips::fixup_Mips_GOT_HI16: + Type = ELF::R_MIPS_GOT_HI16; + break; + case Mips::fixup_Mips_GOT_LO16: + Type = ELF::R_MIPS_GOT_LO16; + break; + case Mips::fixup_Mips_CALL_HI16: + Type = ELF::R_MIPS_CALL_HI16; + break; + case Mips::fixup_Mips_CALL_LO16: + Type = ELF::R_MIPS_CALL_LO16; + break; } return Type; } |