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); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits