diff options
author | Doug Evans <dje@google.com> | 2015-07-23 09:21:48 -0700 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2015-07-23 09:25:49 -0700 |
commit | cc12ce380e8dab7e3cee8ecad29db6e9bb36a8fa (patch) | |
tree | 65b3974359af6c528e974227d005ae365c273b70 /gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.exp | |
parent | 7b849db4f213d6734b4121ca5e5cab3341a5140c (diff) | |
download | fsf-binutils-gdb-cc12ce380e8dab7e3cee8ecad29db6e9bb36a8fa.zip fsf-binutils-gdb-cc12ce380e8dab7e3cee8ecad29db6e9bb36a8fa.tar.gz fsf-binutils-gdb-cc12ce380e8dab7e3cee8ecad29db6e9bb36a8fa.tar.bz2 |
Fix crash when reading dummy CUs.
Dummy CUs are used by the incremental linker to pre-allocate space
in the output file. They have a DWARF header but no contents.
gdb/ChangeLog:
* dwarf2read.c (dwarf2_per_cu_data): Add comment.
(load_cu): Handle dummy CUs.
(dw2_do_instantiate_symtab, process_queuef): Ditto.
(dwarf2_fetch_die_loc_sect_off, dwarf2_fetch_constant_bytes): Ditto.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-dummy-cu.S: New file.
* gdb.dwarf2/dw2-dummy-cu.exp: New file.
Diffstat (limited to 'gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.exp')
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.exp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.exp b/gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.exp new file mode 100644 index 0000000..a5f6ca5 --- /dev/null +++ b/gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.exp @@ -0,0 +1,39 @@ +# Copyright 2015 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +load_lib dwarf.exp + +# This test can only be run on targets which support DWARF-2 and use gas. +if {![dwarf2_support]} { + return 0 +} + +standard_testfile .S +set executable ${testfile} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "" } { + return -1 +} + +set saved_gdbflags $GDBFLAGS +set GDBFLAGS "$GDBFLAGS -readnow" + +clean_restart $executable + +# Something simple to verify gdb didn't crash, and has read in whatever symbol +# info is there. +gdb_test "info fun main" "main_end" + +set GDBFLAGS $saved_gdbflags |