Handle quoted names when constructing $stub's,

$non_lazy_ptr's and $lazy_ptr's.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51277 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dale Johannesen
2008-05-19 21:38:18 +00:00
parent 7be1c454c9
commit c215b3ef5d
6 changed files with 85 additions and 39 deletions

View File

@@ -385,8 +385,10 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
i != e; ++i, ++j) {
SwitchToDataSection("\t.section __IMPORT,__jump_table,symbol_stubs,"
"self_modifying_code+pure_instructions,5", 0);
O << "L" << *i << "$stub:\n";
O << "\t.indirect_symbol " << *i << "\n";
std::string p = *i;
printSuffixedName(p, "$stub");
O << ":\n";
O << "\t.indirect_symbol " << p << "\n";
O << "\thlt ; hlt ; hlt ; hlt ; hlt\n";
}
@@ -408,8 +410,10 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
"\t.section __IMPORT,__pointers,non_lazy_symbol_pointers");
for (std::set<std::string>::iterator i = GVStubs.begin(), e = GVStubs.end();
i != e; ++i) {
O << "L" << *i << "$non_lazy_ptr:\n";
O << "\t.indirect_symbol " << *i << "\n";
std::string p = *i;
printSuffixedName(p, "$non_lazy_ptr");
O << ":\n";
O << "\t.indirect_symbol " << p << "\n";
O << "\t.long\t0\n";
}