diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-12-05 01:06:39 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-12-05 01:06:39 +0000 |
commit | ae94e594164b193236002516970aeec4c4574768 (patch) | |
tree | 00f4a5e3d57725f8b01a1ca106e61cba657d8ded /lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h | |
parent | cd730fa3377ba9f019c810c3181390960b85e831 (diff) | |
download | external_llvm-ae94e594164b193236002516970aeec4c4574768.zip external_llvm-ae94e594164b193236002516970aeec4c4574768.tar.gz external_llvm-ae94e594164b193236002516970aeec4c4574768.tar.bz2 |
Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60571 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h')
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h index 312c11d..40a5b4f 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h +++ b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h @@ -121,13 +121,14 @@ struct VISIBILITY_HIDDEN X86ATTAsmPrinter : public AsmPrinter { void printModuleLevelGV(const GlobalVariable* GVar); void printGVStub(const char *GV, const char *Prefix = NULL); + void printHiddenGVStub(const char *GV, const char *Prefix = NULL); bool runOnMachineFunction(MachineFunction &F); void emitFunctionHeader(const MachineFunction &MF); // Necessary for Darwin to print out the apprioriate types of linker stubs - StringSet<> FnStubs, GVStubs, LinkOnceStubs; + StringSet<> FnStubs, GVStubs, HiddenGVStubs; // Necessary for dllexport support StringSet<> DLLExportedFns, DLLExportedGVs; |