summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2012-04-11 18:37:14 +0000
committerDoug Evans <dje@google.com>2012-04-11 18:37:14 +0000
commitbc3aa6c30087ecab7a06ec986344d2954e7c847c (patch)
treeff3a7a779fc7da8b2c91d6315ad8a9ed64606268
parent9e529e1d3d54431b6e1b0433efe8203887c0580f (diff)
downloadbinutils-gdb-bc3aa6c30087ecab7a06ec986344d2954e7c847c.tar.gz
* source.c (find_and_open_source): Consistently pass resulting
full path through xfullpath.
-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 aceef1e8397..c511d0649e0 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 97f5d46d219..9b464f90e77 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;