diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h index 75e797cd88a..a109d77db65 100644 --- a/include/llvm/Target/TargetAsmInfo.h +++ b/include/llvm/Target/TargetAsmInfo.h @@ -313,6 +313,11 @@ namespace llvm { /// DwarfEHFrameSection - Section directive for Exception frames. /// const char *DwarfEHFrameSection; // Defaults to ".eh_frame". + + /// DwarfExceptionSection - Section directive for Exception table. + /// + const char *DwarfExceptionSection; // Defaults to ".gcc_except_table". + //===--- CBE Asm Translation Table -----------------------------------===// @@ -540,6 +545,9 @@ namespace llvm { const char *getDwarfEHFrameSection() const { return DwarfEHFrameSection; } + const char *getDwarfExceptionSection() const { + return DwarfExceptionSection; + } const char** getAsmCBE() const { return AsmTransCBE; } diff --git a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp index 38e0d212bf6..bdda9909f4a 100644 --- a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp +++ b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp @@ -43,6 +43,7 @@ PPCTargetAsmInfo::PPCTargetAsmInfo(const PPCTargetMachine &TM) { DwarfMacInfoSection = ".section __DWARF,__debug_macinfo,regular,debug"; DwarfEHFrameSection = ".section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support"; + DwarfExceptionSection = ".section __DATA,__gcc_except_tab"; } DarwinTargetAsmInfo::DarwinTargetAsmInfo(const PPCTargetMachine &TM) diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp index e8e2de46bdd..efc54841b43 100644 --- a/lib/Target/TargetAsmInfo.cpp +++ b/lib/Target/TargetAsmInfo.cpp @@ -86,6 +86,7 @@ TargetAsmInfo::TargetAsmInfo() : DwarfRangesSection(".debug_ranges"), DwarfMacInfoSection(".debug_macinfo"), DwarfEHFrameSection(".eh_frame"), + DwarfExceptionSection(".gcc_except_table"), AsmTransCBE(0) { }