diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-03-15 21:56:50 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-03-15 21:56:50 +0000 |
commit | d6e59084d07500f68548652b8197325809a0c0c2 (patch) | |
tree | aab8d4434c72391d542af496a16657d500621673 /lib/MC/MCAssembler.cpp | |
parent | 99d22adcadc750b2949283d562bdb4d480b8d11c (diff) |
MC/Mach-O/x86_64: Temporary labels in cstring sections require symbols (and external relocations, but we don't have x86_64 relocations yet).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98583 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCAssembler.cpp')
-rw-r--r-- | lib/MC/MCAssembler.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp index 0d00ed1752..4cf8b7e522 100644 --- a/lib/MC/MCAssembler.cpp +++ b/lib/MC/MCAssembler.cpp @@ -674,7 +674,10 @@ public: const MCSymbol &Symbol = it->getSymbol(); // Ignore assembler temporaries. - if (it->getSymbol().isTemporary()) + if (it->getSymbol().isTemporary() && + (!it->getFragment() || + !Asm.getBackend().doesSectionRequireSymbols( + it->getFragment()->getParent()->getSection()))) continue; if (!it->isExternal() && !Symbol.isUndefined()) @@ -710,7 +713,10 @@ public: const MCSymbol &Symbol = it->getSymbol(); // Ignore assembler temporaries. - if (it->getSymbol().isTemporary()) + if (it->getSymbol().isTemporary() && + (!it->getFragment() || + !Asm.getBackend().doesSectionRequireSymbols( + it->getFragment()->getParent()->getSection()))) continue; if (it->isExternal() || Symbol.isUndefined()) |