diff options
| author | Davide Italiano <davide@freebsd.org> | 2015-03-04 06:49:39 +0000 |
|---|---|---|
| committer | Davide Italiano <davide@freebsd.org> | 2015-03-04 06:49:39 +0000 |
| commit | fcae934c0305bcbbd1fe27aa414323bc24173343 (patch) | |
| tree | 2920a02f6ae0bbfffc0e6a4e7a830e42c73a121a /llvm/lib | |
| parent | 653236596af12b89fd3701f86b160a850ddcff21 (diff) | |
| download | bcm5719-llvm-fcae934c0305bcbbd1fe27aa414323bc24173343.tar.gz bcm5719-llvm-fcae934c0305bcbbd1fe27aa414323bc24173343.zip | |
[MC][Target] Implement support for R_X86_64_SIZE{32,64}.
Differential Revision: D7990
Reviewed by: rafael, majnemer
llvm-svn: 231216
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/MC/MCExpr.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCExpr.cpp b/llvm/lib/MC/MCExpr.cpp index 709dc6b413e..049113cf5ab 100644 --- a/llvm/lib/MC/MCExpr.cpp +++ b/llvm/lib/MC/MCExpr.cpp @@ -192,6 +192,7 @@ StringRef MCSymbolRefExpr::getVariantKindName(VariantKind Kind) { case VK_GOTPAGE: return "GOTPAGE"; case VK_GOTPAGEOFF: return "GOTPAGEOFF"; case VK_SECREL: return "SECREL32"; + case VK_SIZE: return "SIZE"; case VK_WEAKREF: return "WEAKREF"; case VK_ARM_NONE: return "none"; case VK_ARM_TARGET1: return "target1"; @@ -311,6 +312,7 @@ MCSymbolRefExpr::getVariantKindForName(StringRef Name) { .Case("gotpageoff", VK_GOTPAGEOFF) .Case("imgrel", VK_COFF_IMGREL32) .Case("secrel32", VK_SECREL) + .Case("size", VK_SIZE) .Case("l", VK_PPC_LO) .Case("h", VK_PPC_HI) .Case("ha", VK_PPC_HA) diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp index e8b0b4c5826..569b811e5f4 100644 --- a/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp +++ b/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp @@ -123,6 +123,9 @@ unsigned X86ELFObjectWriter::GetRelocType(const MCValue &Target, case MCSymbolRefExpr::VK_DTPOFF: Type = ELF::R_X86_64_DTPOFF64; break; + case MCSymbolRefExpr::VK_SIZE: + Type = ELF::R_X86_64_SIZE64; + break; } break; case X86::reloc_signed_4byte: @@ -144,6 +147,9 @@ unsigned X86ELFObjectWriter::GetRelocType(const MCValue &Target, case MCSymbolRefExpr::VK_DTPOFF: Type = ELF::R_X86_64_DTPOFF32; break; + case MCSymbolRefExpr::VK_SIZE: + Type = ELF::R_X86_64_SIZE32; + break; } break; case FK_Data_4: |

