r266814 - cc1as: Don't crash when CIE is requested and no DWARF version is specified.
Adrian Prantl via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 19 13:31:19 PDT 2016
Author: adrian
Date: Tue Apr 19 15:31:19 2016
New Revision: 266814
URL: http://llvm.org/viewvc/llvm-project?rev=266814&view=rev
Log:
cc1as: Don't crash when CIE is requested and no DWARF version is specified.
This patch changes the default DWARF version for cc1as from invalid 0 to 2,
which should be the lowest common denominator on all platforms.
rdar://problem/24735813
Added:
cfe/trunk/test/Driver/as-dwarf-cie.s
Modified:
cfe/trunk/tools/driver/cc1as_main.cpp
Added: cfe/trunk/test/Driver/as-dwarf-cie.s
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/as-dwarf-cie.s?rev=266814&view=auto
==============================================================================
--- cfe/trunk/test/Driver/as-dwarf-cie.s (added)
+++ cfe/trunk/test/Driver/as-dwarf-cie.s Tue Apr 19 15:31:19 2016
@@ -0,0 +1,37 @@
+# REQUIRES: x86-registered-target
+# Test that there is a sane default CIE version.
+# RUN: %clang -cc1as -triple i386-apple-darwin -filetype obj %s -o %t
+# RUN: llvm-objdump -dwarf=frames %t | FileCheck %s
+# CHECK: .debug_frame contents:
+# CHECK: CIE
+# CHECK: Version: 1
+ .section __TEXT,__text,regular,pure_instructions
+ .globl _f
+ .p2align 4, 0x90
+_f: ## @f
+Lfunc_begin0:
+ .file 1 "test.c"
+ .loc 1 1 0 ## test.c:1:0
+ .cfi_startproc
+## BB#0: ## %entry
+ pushl %ebp
+Ltmp0:
+ .cfi_def_cfa_offset 8
+Ltmp1:
+ .cfi_offset %ebp, -8
+ movl %esp, %ebp
+Ltmp2:
+ .cfi_def_cfa_register %ebp
+Ltmp3:
+ .loc 1 1 11 prologue_end ## test.c:1:11
+ popl %ebp
+ retl
+Ltmp4:
+Lfunc_end0:
+ .cfi_endproc
+ .cfi_sections .debug_frame
+
+.subsections_via_symbols
+ .section __DWARF,__debug_line,regular,debug
+Lsection_line:
+Lline_table_start0:
Modified: cfe/trunk/tools/driver/cc1as_main.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/driver/cc1as_main.cpp?rev=266814&r1=266813&r2=266814&view=diff
==============================================================================
--- cfe/trunk/tools/driver/cc1as_main.cpp (original)
+++ cfe/trunk/tools/driver/cc1as_main.cpp Tue Apr 19 15:31:19 2016
@@ -200,7 +200,7 @@ bool AssemblerInvocation::CreateFromArgs
// Any DebugInfoKind implies GenDwarfForAssembly.
Opts.GenDwarfForAssembly = Args.hasArg(OPT_debug_info_kind_EQ);
Opts.CompressDebugSections = Args.hasArg(OPT_compress_debug_sections);
- Opts.DwarfVersion = getLastArgIntValue(Args, OPT_dwarf_version_EQ, 0, Diags);
+ Opts.DwarfVersion = getLastArgIntValue(Args, OPT_dwarf_version_EQ, 2, Diags);
Opts.DwarfDebugFlags = Args.getLastArgValue(OPT_dwarf_debug_flags);
Opts.DwarfDebugProducer = Args.getLastArgValue(OPT_dwarf_debug_producer);
Opts.DebugCompilationDir = Args.getLastArgValue(OPT_fdebug_compilation_dir);
More information about the cfe-commits
mailing list