aboutsummaryrefslogtreecommitdiff
path: root/bfd/dwarf2.c
diff options
context:
space:
mode:
authorRichard Earnshaw <richard.earnshaw@arm.com>2002-07-17 12:17:18 +0000
committerRichard Earnshaw <richard.earnshaw@arm.com>2002-07-17 12:17:18 +0000
commit0dafd5f6a9d00407314e765ce587fbf4d58fd9e3 (patch)
treed4e842664b013fd69b940b32305f83e8afe29b8a /bfd/dwarf2.c
parentae66e5d720521257f3797a54a209e881b9b6f30d (diff)
downloadfsf-binutils-gdb-0dafd5f6a9d00407314e765ce587fbf4d58fd9e3.zip
fsf-binutils-gdb-0dafd5f6a9d00407314e765ce587fbf4d58fd9e3.tar.gz
fsf-binutils-gdb-0dafd5f6a9d00407314e765ce587fbf4d58fd9e3.tar.bz2
From: Ian Rickards <irickard@arm.com>
* dwarf2.c (concat_filename): If we can't establish the directory just return the filename.
Diffstat (limited to 'bfd/dwarf2.c')
-rw-r--r--bfd/dwarf2.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 005a21f..9c5e7b8 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -856,13 +856,18 @@ concat_filename (table, file)
filename = table->files[file - 1].name;
if (IS_ABSOLUTE_PATH(filename))
return filename;
-
else
{
char* dirname = (table->files[file - 1].dir
? table->dirs[table->files[file - 1].dir - 1]
: table->comp_dir);
- return (char*) concat (dirname, "/", filename, NULL);
+
+ /* Not all tools set DW_AT_comp_dir, so dirname may be unknown. The
+ best we can do is return the filename part. */
+ if (dirname == NULL)
+ return filename;
+ else
+ return (char*) concat (dirname, "/", filename, NULL);
}
}