forked from OSchip/llvm-project
$stub references should not be private ("L") labels.
llvm-svn: 75721
This commit is contained in:
parent
8da3ce3bfd
commit
7f318128d0
|
@ -307,16 +307,19 @@ void X86ATTAsmPrinter::printSymbolOperand(const MachineOperand &MO) {
|
||||||
const GlobalValue *GV = MO.getGlobal();
|
const GlobalValue *GV = MO.getGlobal();
|
||||||
|
|
||||||
const char *Suffix = "";
|
const char *Suffix = "";
|
||||||
|
bool isPrivate = false;
|
||||||
|
|
||||||
if (MO.getTargetFlags() == X86II::MO_DARWIN_STUB)
|
if (MO.getTargetFlags() == X86II::MO_DARWIN_STUB)
|
||||||
Suffix = "$stub";
|
Suffix = "$stub";
|
||||||
else if (MO.getTargetFlags() == X86II::MO_DARWIN_NONLAZY ||
|
else if (MO.getTargetFlags() == X86II::MO_DARWIN_NONLAZY ||
|
||||||
MO.getTargetFlags() == X86II::MO_DARWIN_NONLAZY_PIC_BASE ||
|
MO.getTargetFlags() == X86II::MO_DARWIN_NONLAZY_PIC_BASE ||
|
||||||
MO.getTargetFlags() == X86II::MO_DARWIN_HIDDEN_NONLAZY ||
|
MO.getTargetFlags() == X86II::MO_DARWIN_HIDDEN_NONLAZY ||
|
||||||
MO.getTargetFlags() == X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE)
|
MO.getTargetFlags() == X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE) {
|
||||||
Suffix = "$non_lazy_ptr";
|
Suffix = "$non_lazy_ptr";
|
||||||
|
isPrivate = true;
|
||||||
|
}
|
||||||
|
|
||||||
std::string Name = Mang->getMangledName(GV, Suffix, Suffix[0] != '\0');
|
std::string Name = Mang->getMangledName(GV, Suffix, isPrivate);
|
||||||
decorateName(Name, GV);
|
decorateName(Name, GV);
|
||||||
|
|
||||||
// Handle dllimport linkage.
|
// Handle dllimport linkage.
|
||||||
|
@ -409,8 +412,6 @@ void X86ATTAsmPrinter::print_pcrel_imm(const MachineInstr *MI, unsigned OpNo) {
|
||||||
printBasicBlockLabel(MO.getMBB(), false, false, VerboseAsm);
|
printBasicBlockLabel(MO.getMBB(), false, false, VerboseAsm);
|
||||||
return;
|
return;
|
||||||
case MachineOperand::MO_GlobalAddress:
|
case MachineOperand::MO_GlobalAddress:
|
||||||
printSymbolOperand(MO);
|
|
||||||
return;
|
|
||||||
case MachineOperand::MO_ExternalSymbol:
|
case MachineOperand::MO_ExternalSymbol:
|
||||||
printSymbolOperand(MO);
|
printSymbolOperand(MO);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue