MC: For variable symbols, maintain MCSymbol::Section as a cache.
authorPeter Collingbourne <peter@pcc.me.uk>
Mon, 30 Mar 2015 20:41:21 +0000 (20:41 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Mon, 30 Mar 2015 20:41:21 +0000 (20:41 +0000)
commit07ee8d2fc1de1cd2fb66413fd14d328329334e88
treea29e05abe77b8448c7a13aac177824596c906637
parent68338f833e30e64f166ab92890fff45596b5eaa4
MC: For variable symbols, maintain MCSymbol::Section as a cache.

This fixes the visibility of symbols in certain edge cases involving aliases
with multiple levels of indirection.

Fixes PR19582.

Differential Revision: http://reviews.llvm.org/D8586

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233595 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCMachObjectWriter.h
include/llvm/MC/MCSymbol.h
lib/MC/MCExpr.cpp
lib/MC/MCSymbol.cpp
lib/MC/MachObjectWriter.cpp
lib/Target/X86/X86AsmPrinter.cpp
test/MC/ELF/alias-resolve.s [new file with mode: 0644]
test/MC/ELF/alias.s
test/MC/MachO/ARM/aliased-symbols.s