diff --git a/test/Driver/as-dwarf-cie.s b/test/Driver/as-dwarf-cie.s new file mode 100644 index 0000000000000000000000000000000000000000..73d987afd4287f368c3a5fc7ab2df93ea16e00ce --- /dev/null +++ b/test/Driver/as-dwarf-cie.s @@ -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: diff --git a/tools/driver/cc1as_main.cpp b/tools/driver/cc1as_main.cpp index 388a7693584138164fd1bad1efe5f1a3fe40c01c..bcc2cde17a80a3b3aaa85e492aa717ded9ad4577 100644 --- a/tools/driver/cc1as_main.cpp +++ b/tools/driver/cc1as_main.cpp @@ -200,7 +200,7 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts, // 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);