aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/source.c19
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.base/annotate-symlink.exp3
4 files changed, 20 insertions, 12 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 901841e..26fffd7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2020-02-07 Tom Tromey <tromey@adacore.com>
+
+ PR breakpoints/24915:
+ * source.c (find_and_open_source): Do not check basenames_may_differ.
+
2020-02-07 Tom Tromey <tom@tromey.com>
* README: Update gdbserver documentation.
diff --git a/gdb/source.c b/gdb/source.c
index 327e9c1..4f889e4 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -1051,10 +1051,7 @@ find_and_open_source (const char *filename,
result = gdb_open_cloexec (fullname->get (), OPEN_MODE, 0);
if (result >= 0)
{
- if (basenames_may_differ)
- *fullname = gdb_realpath (fullname->get ());
- else
- *fullname = gdb_abspath (fullname->get ());
+ *fullname = gdb_realpath (fullname->get ());
return scoped_fd (result);
}
@@ -1098,12 +1095,9 @@ find_and_open_source (const char *filename,
if (rewritten_filename != NULL)
filename = rewritten_filename.get ();
- openp_flags flags = OPF_SEARCH_IN_PATH;
- if (basenames_may_differ)
- flags |= OPF_RETURN_REALPATH;
-
/* Try to locate file using filename. */
- result = openp (path, flags, filename, OPEN_MODE, fullname);
+ result = openp (path, OPF_SEARCH_IN_PATH | OPF_RETURN_REALPATH, filename,
+ OPEN_MODE, fullname);
if (result < 0 && dirname != NULL)
{
/* Remove characters from the start of PATH that we don't need when
@@ -1124,15 +1118,16 @@ find_and_open_source (const char *filename,
cdir_filename.append (SLASH_STRING);
cdir_filename.append (filename_start);
- result = openp (path, flags, cdir_filename.c_str (), OPEN_MODE,
- fullname);
+ result = openp (path, OPF_SEARCH_IN_PATH | OPF_RETURN_REALPATH,
+ cdir_filename.c_str (), OPEN_MODE, fullname);
}
if (result < 0)
{
/* Didn't work. Try using just the basename. */
p = lbasename (filename);
if (p != filename)
- result = openp (path, flags, p, OPEN_MODE, fullname);
+ result = openp (path, OPF_SEARCH_IN_PATH | OPF_RETURN_REALPATH, p,
+ OPEN_MODE, fullname);
}
return scoped_fd (result);
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 685994a..f6bd172 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2020-02-07 Tom Tromey <tromey@adacore.com>
+
+ PR breakpoints/24915:
+ * gdb.base/annotate-symlink.exp: Use setup_xfail.
+
2020-02-06 Shahab Vahedi <shahab@synopsys.com>
* gdb.tui/tui-missing-src.exp: Add the "missing source
diff --git a/gdb/testsuite/gdb.base/annotate-symlink.exp b/gdb/testsuite/gdb.base/annotate-symlink.exp
index d22593c..830949d 100644
--- a/gdb/testsuite/gdb.base/annotate-symlink.exp
+++ b/gdb/testsuite/gdb.base/annotate-symlink.exp
@@ -47,5 +47,8 @@ gdb_breakpoint func message
gdb_test_no_output "set annotate 1"
+# The patch to cause this output was reverted.
+# See PR breakpoints/24915.
+setup_xfail *-*-* 24915
gdb_test "continue" \
"Breakpoint .* func .*realname-expand-link.c:$decimal\r\n\032\032.*realname-expand-link.c:.*"