diff options
author | Yao Qi <yao@codesourcery.com> | 2014-11-14 08:53:08 +0800 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2014-11-14 08:55:06 +0800 |
commit | f166b542723928ab8ecd5cd1788e6c1161bf3315 (patch) | |
tree | 15edd241ef398db81d7fdffe647531bc5ecfa2bb /gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp | |
parent | 0f6e71e32ffee942879c37cbab162f9dcee7e683 (diff) | |
download | gdb-f166b542723928ab8ecd5cd1788e6c1161bf3315.zip gdb-f166b542723928ab8ecd5cd1788e6c1161bf3315.tar.gz gdb-f166b542723928ab8ecd5cd1788e6c1161bf3315.tar.bz2 |
Use Dwarf::assemble in implptr-optimized-out.exp
This patch is to use dwarf::assemble to generate debug information, and
remove implptr-optimized-out.S as a result.
gdb/testsuite:
2014-11-14 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/implptr-optimized-out.exp: Use Dwarf::assemble to
produce debug information.
* gdb.dwarf2/implptr-optimized-out.S: Removed.
Diffstat (limited to 'gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp')
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp | 63 |
1 files changed, 60 insertions, 3 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp b/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp index 26ca407..226fc5c 100644 --- a/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp +++ b/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp @@ -19,11 +19,68 @@ if {![dwarf2_support]} { return 0 } -standard_testfile .S -set mainfile main.c +standard_testfile main.c .S set executable ${testfile} -if [prepare_for_testing ${testfile}.exp $executable "${srcfile} ${mainfile}" {}] { +# Create the DWARF. +set asm_file [standard_output_file $srcfile2] +Dwarf::assemble $asm_file { + cu { version 3 addr_size 4 } { + compile_unit { + {producer "GNU C 4.4.3"} + {language @DW_LANG_C89} + {name 1.c} + } { + declare_labels int_label struct_label pointer_label variable_label + + int_label: base_type { + {byte_size 4 sdata} + {encoding @DW_ATE_signed} + {name int} + } + + struct_label: structure_type { + {name s} + {byte_size 4 sdata} + } { + member { + {name f} + {type :$int_label} + {data_member_location 0 data1} + } + } + + subprogram { + {name main} + {low_pc main addr} + {high_pc main+0x100 addr} + {type :$int_label} + {external 1 flag} + } { + pointer_label: pointer_type { + {byte_size 4 sdata} + {type :$struct_label} + } + + variable_label: DW_TAG_variable { + {name v} + {location {} DW_FORM_block1} + {type :$struct_label} + } + + DW_TAG_variable { + {name p} + {location { + GNU_implicit_pointer $variable_label 0 + } SPECIAL_expr} + {type :$pointer_label} + } + } + } + } +} + +if [prepare_for_testing ${testfile}.exp $executable "${asm_file} ${srcfile}" {}] { return -1 } |