1# Copyright 2011-2016 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. 15load_lib dwarf.exp 16 17# This test can only be run on targets which support DWARF-2 and use gas. 18if {![dwarf2_support]} { 19 return 0 20} 21 22standard_testfile .S 23set mainfile main.c 24 25proc test { dwarf_version offset_size addr_size ref_addr_size two_cu } { 26 global testfile srcfile mainfile 27 28 # 32-bit targets do not support any of the testcases; keep quiet there. 29 set opts {quiet} 30 foreach n { dwarf_version offset_size addr_size ref_addr_size two_cu } { 31 lappend opts "additional_flags=-D[string toupper $n]=[expr "\$$n"]" 32 } 33 34 set name "d${dwarf_version}o${offset_size}a${addr_size}r${ref_addr_size}t${two_cu}" 35 set executable ${testfile}-${name} 36 if [prepare_for_testing ${testfile}.exp $executable "${srcfile} ${mainfile}" $opts] { 37 return -1 38 } 39 40 if ![runto_main] { 41 return -1 42 } 43 44 gdb_test "p/x p->f" " = 0x1010101" $name 45} 46 47# DWARF_VERSION OFFSET_SIZE ADDR_SIZE REF_ADDR_SIZE TWO_CU 48test 2 8 4 4 0 49test 2 4 8 8 0 50test 3 8 4 8 0 51test 3 4 8 4 0 52test 2 8 4 4 1 53test 2 4 8 8 1 54test 3 8 4 8 1 55test 3 4 8 4 1 56