mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-24 08:24:33 +00:00
Instead of demangling symbol name by hand, use original name, which was
used to mangle symbol name, directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30124 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -147,6 +147,7 @@ LinkTimeOptimizer::readLLVMObjectFile(const std::string &InputFilename,
|
|||||||
LLVMSymbol *newSymbol = new LLVMSymbol(lt, v, v->getName(),
|
LLVMSymbol *newSymbol = new LLVMSymbol(lt, v, v->getName(),
|
||||||
mangler.getValueName(v));
|
mangler.getValueName(v));
|
||||||
symbols[newSymbol->getMangledName()] = newSymbol;
|
symbols[newSymbol->getMangledName()] = newSymbol;
|
||||||
|
allSymbols[newSymbol->getMangledName()] = newSymbol;
|
||||||
|
|
||||||
for (unsigned count = 0, total = v->getNumOperands();
|
for (unsigned count = 0, total = v->getNumOperands();
|
||||||
count != total; ++count)
|
count != total; ++count)
|
||||||
@ -291,8 +292,9 @@ LinkTimeOptimizer::optimizeModules(const std::string &OutputFilename,
|
|||||||
// seen by linker.
|
// seen by linker.
|
||||||
for (unsigned i = 0, e = exportList.size(); i != e; ++i) {
|
for (unsigned i = 0, e = exportList.size(); i != e; ++i) {
|
||||||
const char *name = exportList[i];
|
const char *name = exportList[i];
|
||||||
if (strlen(name) > 2 && name[0] == '_')
|
NameToSymbolMap::iterator itr = allSymbols.find(name);
|
||||||
exportList[i] = &name[1];
|
if (itr != allSymbols.end())
|
||||||
|
exportList[i] = allSymbols[name]->getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
sys::Path tmpAsmFilePath("/tmp/");
|
sys::Path tmpAsmFilePath("/tmp/");
|
||||||
|
Reference in New Issue
Block a user