forked from Imagelibrary/binutils-gdb
[gdb/cli] Don't assert on empty string for core-file
With current gdb we run into: ... $ gdb -batch '' '' : No such file or directory. pathstuff.cc:132: internal-error: \ gdb::unique_xmalloc_ptr<char> gdb_abspath(const char*): \ Assertion `path != NULL && path[0] != '\0'' failed. ... Fix this by skipping the call to gdb_abspath in core_target_open in the empty-string case, such that we have instead: ... $ gdb -batch '' '' : No such file or directory. : No such file or directory. $ ... Tested on x86_64-linux. gdb/ChangeLog: 2021-08-30 Tom de Vries <tdevries@suse.de> PR cli/28290 * gdb/corelow.c (core_target_open): Skip call to gdb_abspath in the empty-string case. gdb/testsuite/ChangeLog: 2021-08-30 Tom de Vries <tdevries@suse.de> PR cli/28290 * gdb.base/batch-exit-status.exp: Add gdb '' and gdb '' '' tests.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2021-08-30 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
PR cli/28290
|
||||
* gdb/corelow.c (core_target_open): Skip call to gdb_abspath in the
|
||||
empty-string case.
|
||||
|
||||
2021-08-23 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
PR gdb/26880
|
||||
|
||||
@@ -428,7 +428,8 @@ core_target_open (const char *arg, int from_tty)
|
||||
}
|
||||
|
||||
gdb::unique_xmalloc_ptr<char> filename (tilde_expand (arg));
|
||||
if (!IS_ABSOLUTE_PATH (filename.get ()))
|
||||
if (strlen (filename.get ()) != 0
|
||||
&& !IS_ABSOLUTE_PATH (filename.get ()))
|
||||
filename = gdb_abspath (filename.get ());
|
||||
|
||||
flags = O_BINARY | O_LARGEFILE;
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2021-08-30 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
PR cli/28290
|
||||
* gdb.base/batch-exit-status.exp: Add gdb '' and gdb '' '' tests.
|
||||
|
||||
2021-08-23 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
PR gdb/26880
|
||||
|
||||
@@ -76,3 +76,7 @@ test_exit_status 1 "-batch -x $good_commands -x $bad_commands" \
|
||||
"-batch -x good-commands -x bad-commands"
|
||||
test_exit_status 1 "-batch -x $good_commands -ex \"set not-a-thing 4\"" \
|
||||
"-batch -x good-commands -ex \"set not-a-thing 4\""
|
||||
|
||||
set no_such_re ": No such file or directory\\."
|
||||
test_exit_status 1 "-batch \"\"" $no_such_re
|
||||
test_exit_status 1 "-batch \"\" \"\"" [multi_line $no_such_re $no_such_re]
|
||||
|
||||
Reference in New Issue
Block a user