summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/DarwinTargetAsmInfo.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-17 20:46:40 +0000
committerChris Lattner <sabre@nondot.org>2009-07-17 20:46:40 +0000
commite79b2bc088755e55948d2cc950135809983c14de (patch)
treec0df7b693d704a5f2be64f805ff0eee618298c04 /llvm/lib/Target/DarwinTargetAsmInfo.cpp
parent71475775b9149cb0421f6983a912ba64830bb96a (diff)
downloadbcm5719-llvm-e79b2bc088755e55948d2cc950135809983c14de.tar.gz
bcm5719-llvm-e79b2bc088755e55948d2cc950135809983c14de.zip
Untangle a snarl that I discovered when updating the mangler,
starting in getCurrentFunctionEHName. Among other problems, we would try to privative a "foo.eh" label, but end up emitting the label as _Lfoo.eh instead of L_foo.eh on darwin. This is really bad, and the linker has always tolerated these labels existing. For now, just emit them as _foo.eh. This patch also fixes problems with ".eh" labels on unnamed functions and eliminates two strangely defined TargetAsmInfo hooks. llvm-svn: 76231
Diffstat (limited to 'llvm/lib/Target/DarwinTargetAsmInfo.cpp')
-rw-r--r--llvm/lib/Target/DarwinTargetAsmInfo.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/DarwinTargetAsmInfo.cpp b/llvm/lib/Target/DarwinTargetAsmInfo.cpp
index 7ab3967c0d1..3eb3d535954 100644
--- a/llvm/lib/Target/DarwinTargetAsmInfo.cpp
+++ b/llvm/lib/Target/DarwinTargetAsmInfo.cpp
@@ -86,6 +86,11 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo(const TargetMachine &TM)
StaticDtorsSection = ".mod_term_func";
}
+ // _foo.eh symbols are currently always exported so that the linker knows
+ // about them. This may not strictly be necessary on 10.6 and later, but it
+ // doesn't hurt anything.
+ Is_EHSymbolPrivate = false;
+
DwarfAbbrevSection = ".section __DWARF,__debug_abbrev,regular,debug";
DwarfInfoSection = ".section __DWARF,__debug_info,regular,debug";
DwarfLineSection = ".section __DWARF,__debug_line,regular,debug";
OpenPOWER on IntegriCloud