+2019-06-14 Tom Tromey <tromey@adacore.com>
+
+ * source.c (find_and_open_source): Respect basenames_may_differ.
+
2019-06-14 Andrew Burgess <andrew.burgess@embecosm.com>
* annotate.c (annotate_breakpoints_invalid): Make use of
result = gdb_open_cloexec (fullname->get (), OPEN_MODE, 0);
if (result >= 0)
{
- *fullname = gdb_realpath (fullname->get ());
+ if (basenames_may_differ)
+ *fullname = gdb_realpath (fullname->get ());
+ else
+ *fullname = gdb_abspath (fullname->get ());
return scoped_fd (result);
}
if (rewritten_filename != NULL)
filename = rewritten_filename.get ();
- result = openp (path, OPF_SEARCH_IN_PATH | OPF_RETURN_REALPATH, filename,
- OPEN_MODE, fullname);
+ openp_flags flags = OPF_SEARCH_IN_PATH;
+ if (basenames_may_differ)
+ flags |= OPF_RETURN_REALPATH;
+ result = openp (path, flags, filename, OPEN_MODE, fullname);
if (result < 0)
{
/* Didn't work. Try using just the basename. */
p = lbasename (filename);
if (p != filename)
- result = openp (path, OPF_SEARCH_IN_PATH | OPF_RETURN_REALPATH, p,
- OPEN_MODE, fullname);
+ result = openp (path, flags, p, OPEN_MODE, fullname);
}
return scoped_fd (result);
+2019-06-14 Tom Tromey <tromey@adacore.com>
+
+ * gdb.base/annotate-symlink.exp: New file.
+
2019-06-14 Tom Tromey <tromey@adacore.com>
* gdb.ada/set_wstr.exp: Add reassignment test.
--- /dev/null
+# Copyright (C) 2019 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/>.
+
+standard_testfile realname-expand.c realname-expand-real.c
+
+if [is_remote host] {
+ unsupported "compiling on a remote host does not support a filename with directory."
+ return 0
+}
+
+set srcdirabs [file join [pwd] $srcdir]
+set srcfilelink [standard_output_file realname-expand-link.c]
+
+remote_exec build "ln -sf ${srcdirabs}/${subdir}/${srcfile2} $srcfilelink"
+
+if { [file type $srcfilelink] != "link" } {
+ unsupported "target directory cannot have symbolic links"
+ return -1
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile} ${srcfilelink}" "${binfile}" \
+ executable {debug}] != "" } {
+ untested "failed to compile"
+ return -1
+}
+
+clean_restart ${testfile}
+
+if {![runto_main]} {
+ unsupported "failed to run to main"
+ return -1
+}
+
+gdb_breakpoint func message
+
+gdb_test_no_output "set annotate 1"
+
+gdb_test "continue" \
+ "Breakpoint .* func .*realname-expand-link.c:$decimal\r\n\032\032.*realname-expand-link.c:.*"