aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-01-14 06:29:53 +0000
committerChris Lattner <sabre@nondot.org>2007-01-14 06:29:53 +0000
commit43bbc5c38f4e73c3a38b7b79be031f30d8a11ab7 (patch)
tree86aa8d2736b11b1d8362f1685176f77fa8de24ad
parent9784bc73c35ab4f6e79dd10804e7e1ed3b5bd3fa (diff)
add support for hidden visibility to darwin/x86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33198 91177308-0d34-0410-b5e6-96231b3b80d8
-rwxr-xr-xlib/Target/X86/X86ATTAsmPrinter.cpp5
-rw-r--r--lib/Target/X86/X86AsmPrinter.cpp5
-rw-r--r--lib/Target/X86/X86TargetAsmInfo.cpp1
3 files changed, 7 insertions, 4 deletions
diff --git a/lib/Target/X86/X86ATTAsmPrinter.cpp b/lib/Target/X86/X86ATTAsmPrinter.cpp
index 1e60cd3f4d..096f712eba 100755
--- a/lib/Target/X86/X86ATTAsmPrinter.cpp
+++ b/lib/Target/X86/X86ATTAsmPrinter.cpp
@@ -125,8 +125,9 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
}
break;
}
- if (F->hasHiddenVisibility() && !Subtarget->isTargetDarwin())
- O << "\t.hidden " << CurrentFnName << "\n";
+ if (F->hasHiddenVisibility())
+ if (const char *Directive = TAI->getHiddenDirective())
+ O << Directive << CurrentFnName << "\n";
O << CurrentFnName << ":\n";
// Add some workaround for linkonce linkage on Cygwin\MinGW
diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp
index 396d90ca4d..78b1af22e5 100644
--- a/lib/Target/X86/X86AsmPrinter.cpp
+++ b/lib/Target/X86/X86AsmPrinter.cpp
@@ -246,8 +246,9 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
EmitGlobalConstant(C);
O << '\n';
}
- if (I->hasHiddenVisibility() && !Subtarget->isTargetDarwin())
- O << "\t.hidden " << name << "\n";
+ if (I->hasHiddenVisibility())
+ if (const char *Directive = TAI->getHiddenDirective())
+ O << Directive << name << "\n";
}
// Output linker support code for dllexported globals
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
index 7371161b96..5d52d932ef 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -64,6 +64,7 @@ X86TargetAsmInfo::X86TargetAsmInfo(const X86TargetMachine &TM) {
SetDirective = "\t.set";
UsedDirective = "\t.no_dead_strip\t";
WeakRefDirective = "\t.weak_reference\t";
+ HiddenDirective = "\t.private_extern\t";
NeedsSet = true;
DwarfAbbrevSection = ".section __DWARF,__debug_abbrev,regular,debug";