mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-12 07:37:34 +00:00
The EH symbols are only needed in eh_frame, not debug_frame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131146 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e29887b4ee
commit
12f197b3bc
@ -633,7 +633,7 @@ const MCSymbol &FrameEmitterImpl::EmitCIE(MCStreamer &streamer,
|
||||
const TargetAsmInfo &asmInfo = context.getTargetAsmInfo();
|
||||
|
||||
MCSymbol *sectionStart;
|
||||
if (asmInfo.isFunctionEHFrameSymbolPrivate())
|
||||
if (asmInfo.isFunctionEHFrameSymbolPrivate() || !IsEH)
|
||||
sectionStart = context.CreateTempSymbol();
|
||||
else
|
||||
sectionStart = context.GetOrCreateSymbol(Twine("EH_frame") + Twine(CIENum));
|
||||
@ -739,7 +739,7 @@ MCSymbol *FrameEmitterImpl::EmitFDE(MCStreamer &streamer,
|
||||
MCSymbol *fdeEnd = context.CreateTempSymbol();
|
||||
const TargetAsmInfo &asmInfo = context.getTargetAsmInfo();
|
||||
|
||||
if (!asmInfo.isFunctionEHFrameSymbolPrivate()) {
|
||||
if (!asmInfo.isFunctionEHFrameSymbolPrivate() && IsEH) {
|
||||
MCSymbol *EHSym = context.GetOrCreateSymbol(
|
||||
frame.Function->getName() + Twine(".eh"));
|
||||
streamer.EmitEHSymAttributes(frame.Function, EHSym);
|
||||
|
18
test/DebugInfo/eh_symbol.ll
Normal file
18
test/DebugInfo/eh_symbol.ll
Normal file
@ -0,0 +1,18 @@
|
||||
; RUN: llc -mtriple=i386-apple-macosx -disable-cfi %s -o - | FileCheck %s
|
||||
|
||||
; test that we don't produce foo.eh symbols is a debug_frame section.
|
||||
; CHECK-NOT: .globl _f.eh
|
||||
|
||||
define i32 @f() nounwind readnone optsize {
|
||||
entry:
|
||||
ret i32 42
|
||||
}
|
||||
|
||||
!llvm.dbg.sp = !{!0}
|
||||
|
||||
!0 = metadata !{i32 589870, i32 0, metadata !1, metadata !"f", metadata !"f", metadata !"", metadata !1, i32 1, metadata !3, i1 false, i1 true, i32 0, i32 0, i32 0, i32 256, i1 true, i32 ()* @f, null, null} ; [ DW_TAG_subprogram ]
|
||||
!1 = metadata !{i32 589865, metadata !"/home/espindola/llvm/test.c", metadata !"/home/espindola/tmpfs/build", metadata !2} ; [ DW_TAG_file_type ]
|
||||
!2 = metadata !{i32 589841, i32 0, i32 12, metadata !"/home/espindola/llvm/test.c", metadata !"/home/espindola/tmpfs/build", metadata !"clang version 3.0 ()", i1 true, i1 true, metadata !"", i32 0} ; [ DW_TAG_compile_unit ]
|
||||
!3 = metadata !{i32 589845, metadata !1, metadata !"", metadata !1, i32 0, i64 0, i64 0, i32 0, i32 0, i32 0, metadata !4, i32 0, i32 0} ; [ DW_TAG_subroutine_type ]
|
||||
!4 = metadata !{metadata !5}
|
||||
!5 = metadata !{i32 589860, metadata !2, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
|
Loading…
x
Reference in New Issue
Block a user