aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/source.c11
2 files changed, 15 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index aceef1e..c511d06 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-11 Yuanhui Zhang <asmwarrior@gmail.com>
+
+ * source.c (find_and_open_source): Consistently pass resulting
+ full path through xfullpath.
+
2012-04-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Provide more specific displaced-stepping memory error message.
diff --git a/gdb/source.c b/gdb/source.c
index 97f5d46..9b464f9 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -997,7 +997,16 @@ find_and_open_source (const char *filename,
result = open (*fullname, OPEN_MODE);
if (result >= 0)
- return result;
+ {
+ /* Call xfullpath here to be consistent with openp
+ which we use below. */
+ char *lpath = xfullpath (*fullname);
+
+ xfree (*fullname);
+ *fullname = lpath;
+ return result;
+ }
+
/* Didn't work -- free old one, try again. */
xfree (*fullname);
*fullname = NULL;