diff options
| author | David Blaikie <dblaikie@gmail.com> | 2013-07-01 21:45:25 +0000 |
|---|---|---|
| committer | David Blaikie <dblaikie@gmail.com> | 2013-07-01 21:45:25 +0000 |
| commit | 1b01ae8648128ca1d7dea4d7cc454dedf722551a (patch) | |
| tree | 1ca7851b73edb09abf9f9cdbf715b251b6897984 /llvm/lib/Target | |
| parent | ab70d5dbaa30cf41421f999a79098b699ee4db8e (diff) | |
| download | bcm5719-llvm-1b01ae8648128ca1d7dea4d7cc454dedf722551a.tar.gz bcm5719-llvm-1b01ae8648128ca1d7dea4d7cc454dedf722551a.zip | |
PR16493: DebugInfo with TLS on PPC crashing due to invalid relocation
Restrict the current TLS support to X86 ELF for now. Test that we don't
produce it on PPC & we can flesh that test case out with the right thing
once someone implements it.
llvm-svn: 185389
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86TargetObjectFile.cpp | 6 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86TargetObjectFile.h | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetObjectFile.cpp b/llvm/lib/Target/X86/X86TargetObjectFile.cpp index 871dacd6a1c..a00e8d4f4dd 100644 --- a/llvm/lib/Target/X86/X86TargetObjectFile.cpp +++ b/llvm/lib/Target/X86/X86TargetObjectFile.cpp @@ -47,3 +47,9 @@ X86LinuxTargetObjectFile::Initialize(MCContext &Ctx, const TargetMachine &TM) { TargetLoweringObjectFileELF::Initialize(Ctx, TM); InitializeELF(TM.Options.UseInitArray); } + +const MCSymbolRefExpr * +X86LinuxTargetObjectFile::getDebugThreadLocalSymbol( + const MCSymbol *Sym) const { + return MCSymbolRefExpr::Create(Sym, MCSymbolRefExpr::VK_DTPOFF, getContext()); +} diff --git a/llvm/lib/Target/X86/X86TargetObjectFile.h b/llvm/lib/Target/X86/X86TargetObjectFile.h index 9d26d389d4d..7baedd2ddfd 100644 --- a/llvm/lib/Target/X86/X86TargetObjectFile.h +++ b/llvm/lib/Target/X86/X86TargetObjectFile.h @@ -36,6 +36,9 @@ namespace llvm { /// and x86-64. class X86LinuxTargetObjectFile : public TargetLoweringObjectFileELF { virtual void Initialize(MCContext &Ctx, const TargetMachine &TM); + + /// \brief Describe a TLS variable address within debug info. + virtual const MCSymbolRefExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const; }; } // end namespace llvm |

