gdb/testsuite/

* gdb.base/break-interp.exp: Remove $exec.debug safety removal.
	* gdb.base/sepdebug.exp: Remove .debug subdirectory handling.  New
	variable different_dir. Move debugfile into a full directory pathname
	under DIFFERENT_DIR.
	* lib/gdb.exp (separate_debug_filename): Remove.
	(gdb_gnu_strip_debug): No longer call separate_debug_filename.  Remove
	variable debug_dir and mkdir of it.  Update function comments.
This commit is contained in:
Jan Kratochvil 2010-05-02 09:08:59 +00:00
parent f9e39928dc
commit 8e1d0c49c1
4 changed files with 27 additions and 40 deletions

View File

@ -1,3 +1,13 @@
2010-05-02 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/break-interp.exp: Remove $exec.debug safety removal.
* gdb.base/sepdebug.exp: Remove .debug subdirectory handling. New
variable different_dir. Move debugfile into a full directory pathname
under DIFFERENT_DIR.
* lib/gdb.exp (separate_debug_filename): Remove.
(gdb_gnu_strip_debug): No longer call separate_debug_filename. Remove
variable debug_dir and mkdir of it. Update function comments.
2010-04-29 Pedro Alves <pedro@codesourcery.com>
PR gdb/11557

View File

@ -636,10 +636,6 @@ foreach ldprelink {NO YES} {
}
if {$binsepdebug == "SEP"} {
gdb_gnu_strip_debug $exec
# Just a sanity check. As gdb_gnu_strip_debug uses the
# "[file dirname $exec]/.debug/[file tail $exec].debug"
# variant delete the higher-priority exec.debug file.
file delete "$exec.debug"
}
# Supply a self-sufficent directory $dir with the required

View File

@ -50,7 +50,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
# ${binfile}, which is just like the executable ($binfile) but without
# the debuginfo. Instead $binfile has a .gnudebuglink section which contains
# the name of a debuginfo only file. This file will be stored in the
# gdb.base/.debug subdirectory.
# gdb.base/ subdirectory.
if [gdb_gnu_strip_debug $binfile] {
# check that you have a recent version of strip and objcopy installed
@ -946,11 +946,14 @@ proc test_different_dir {type test_different_dir xfail} {
# now move the .debug file to a different location so that we can test
# the "set debug-file-directory" command.
remote_exec build "mv ${objdir}/${subdir}/.debug/${testfile}.debug ${objdir}/${subdir}"
set debugfile "${objdir}/${subdir}/${testfile}.debug"
test_different_dir debuglink "${objdir}/${subdir}" 0
set different_dir "${objdir}/${subdir}/${testfile}.dir"
set debugfile "${different_dir}/${objdir}/${subdir}/${testfile}.debug"
remote_exec build "rm -rf $different_dir"
remote_exec build "mkdir -p [file dirname $debugfile]"
remote_exec build "mv -f ${objdir}/${subdir}/${testfile}.debug $debugfile"
test_different_dir debuglink $different_dir 0
# Test CRC mismatch is reported.
@ -958,7 +961,7 @@ test_different_dir debuglink "${objdir}/${subdir}" 0
if {[build_executable sepdebug.exp sepdebug2 sepdebug2.c debug] != -1
&& ![gdb_gnu_strip_debug ${objdir}/${subdir}/sepdebug2]} {
remote_exec build "cp ${debugfile} ${objdir}/${subdir}/.debug/sepdebug2.debug"
remote_exec build "cp ${debugfile} ${objdir}/${subdir}/sepdebug2.debug"
gdb_exit
gdb_start
@ -966,7 +969,7 @@ if {[build_executable sepdebug.exp sepdebug2 sepdebug2.c debug] != -1
set escapedobjdirsubdir [string_to_regexp ${objdir}/${subdir}]
gdb_test "file ${objdir}/${subdir}/sepdebug2" "warning: the debug information found in \"${escapedobjdirsubdir}/\\.debug/sepdebug2\\.debug\" does not match \"${escapedobjdirsubdir}/sepdebug2\" \\(CRC mismatch\\)\\..*\\(no debugging symbols found\\).*" "CRC mismatch is reported"
gdb_test "file ${objdir}/${subdir}/sepdebug2" "warning: the debug information found in \"${escapedobjdirsubdir}/sepdebug2\\.debug\" does not match \"${escapedobjdirsubdir}/sepdebug2\" \\(CRC mismatch\\)\\..*\\(no debugging symbols found\\).*" "CRC mismatch is reported"
}

View File

@ -2833,8 +2833,8 @@ proc gdb_skip_xml_test { } {
# Note: the procedure gdb_gnu_strip_debug will produce an executable called
# ${binfile}.dbglnk, which is just like the executable ($binfile) but without
# the debuginfo. Instead $binfile has a .gnu_debuglink section which contains
# the name of a debuginfo only file. This file will be stored in the
# gdb.base/.debug subdirectory.
# the name of a debuginfo only file. This file will be stored in the same
# subdirectory.
# Functions for separate debug info testing
@ -2843,27 +2843,9 @@ proc gdb_skip_xml_test { } {
# at the end of the process we have:
# foo.stripped --> foo w/o debug info
# .debug/foo.debug --> foo's debug info
# foo.debug --> foo's debug info
# foo --> like foo, but with a new .gnu_debuglink section pointing to foo.debug.
# Return the name of the file in which we should stor EXEC's separated
# debug info. EXEC contains the full path.
proc separate_debug_filename { exec } {
# In a .debug subdirectory off the same directory where the testcase
# executable is going to be. Something like:
# <your-path>/gdb/testsuite/gdb.base/.debug/blah.debug.
# This is the default location where gdb expects to findi
# the debug info file.
set exec_dir [file dirname $exec]
set exec_file [file tail $exec]
set debug_dir [file join $exec_dir ".debug"]
set debug_file [file join $debug_dir "${exec_file}.debug"]
return $debug_file
}
# Return the build-id hex string (usually 160 bits as 40 hex characters)
# converted to the form: .build-id/ab/cdef1234...89.debug
# Return "" if no build-id found.
@ -2902,17 +2884,13 @@ proc build_id_debug_filename_get { exec } {
proc gdb_gnu_strip_debug { dest args } {
set debug_file [separate_debug_filename $dest]
# Use the first separate debug info file location searched by GDB so the
# run cannot be broken by some stale file searched with higher precedence.
set debug_file "${dest}.debug"
set strip_to_file_program [transform strip]
set objcopy_program [transform objcopy]
# Make sure the directory that will hold the separated debug
# info actually exists.
set debug_dir [file dirname $debug_file]
if {! [file isdirectory $debug_dir]} {
file mkdir $debug_dir
}
set debug_link [file tail $debug_file]
set stripped_file "${dest}.stripped"