aboutsummaryrefslogtreecommitdiffstats
path: root/lib/MC/MCELFStreamer.cpp
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@freebsd.org>2011-12-12 17:34:04 +0000
committerRoman Divacky <rdivacky@freebsd.org>2011-12-12 17:34:04 +0000
commita0c17a495b12debcb7f206993bbc6020e2e6e8df (patch)
treede8c97fac0dbb38a0e2480ea66776796b61943e7 /lib/MC/MCELFStreamer.cpp
parentb813f924a749396ffb4a4bd087ee1dbb678551f3 (diff)
downloadexternal_llvm-a0c17a495b12debcb7f206993bbc6020e2e6e8df.zip
external_llvm-a0c17a495b12debcb7f206993bbc6020e2e6e8df.tar.gz
external_llvm-a0c17a495b12debcb7f206993bbc6020e2e6e8df.tar.bz2
Add support for gnu_indirect_function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146377 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCELFStreamer.cpp')
-rw-r--r--lib/MC/MCELFStreamer.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/MC/MCELFStreamer.cpp b/lib/MC/MCELFStreamer.cpp
index 0ea3c64..dcc4666 100644
--- a/lib/MC/MCELFStreamer.cpp
+++ b/lib/MC/MCELFStreamer.cpp
@@ -130,7 +130,6 @@ void MCELFStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
case MCSA_WeakDefinition:
case MCSA_WeakDefAutoPrivate:
case MCSA_Invalid:
- case MCSA_ELF_TypeIndFunction:
case MCSA_IndirectSymbol:
assert(0 && "Invalid symbol attribute for ELF!");
break;
@@ -162,6 +161,10 @@ void MCELFStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
MCELF::SetType(SD, ELF::STT_FUNC);
break;
+ case MCSA_ELF_TypeIndFunction:
+ MCELF::SetType(SD, ELF::STT_GNU_IFUNC);
+ break;
+
case MCSA_ELF_TypeObject:
MCELF::SetType(SD, ELF::STT_OBJECT);
break;