aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarfread.c
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1992-07-17 17:16:26 +0000
committerFred Fish <fnf@specifix.com>1992-07-17 17:16:26 +0000
commitd4902ab0a703784e3dfba614ad38deefa2541098 (patch)
treef4bd66d850a40855f107ac565b380ec8ca054e96 /gdb/dwarfread.c
parente4df52accde170d1d3b8617bffe4470fed4220fc (diff)
downloadgdb-d4902ab0a703784e3dfba614ad38deefa2541098.zip
gdb-d4902ab0a703784e3dfba614ad38deefa2541098.tar.gz
gdb-d4902ab0a703784e3dfba614ad38deefa2541098.tar.bz2
* dwarfread.c (read_file_scope): Pass contents of AT_comp_dir
to start_symtab as the directory name. * dwarfread.c (completedieinfo): Strip off any leading hostname portion of the AT_comp_dir attribute string. Gdb doesn't know what to do with them (FIXME).
Diffstat (limited to 'gdb/dwarfread.c')
-rw-r--r--gdb/dwarfread.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/gdb/dwarfread.c b/gdb/dwarfread.c
index 9cdfada..38714e2 100644
--- a/gdb/dwarfread.c
+++ b/gdb/dwarfread.c
@@ -1643,7 +1643,7 @@ read_file_scope (dip, thisdie, enddie, objfile)
utypes = (struct type **) xmalloc (numutypes * sizeof (struct type *));
back_to = make_cleanup (free, utypes);
memset (utypes, 0, numutypes * sizeof (struct type *));
- start_symtab (dip -> at_name, NULL, dip -> at_low_pc);
+ start_symtab (dip -> at_name, dip -> at_comp_dir, dip -> at_low_pc);
decode_line_numbers (lnbase);
process_dies (thisdie + dip -> die_length, enddie, objfile);
symtab = end_symtab (dip -> at_high_pc, 0, 0, objfile);
@@ -3274,7 +3274,17 @@ completedieinfo (dip, objfile)
dip -> at_name = diep;
break;
case AT_comp_dir:
- dip -> at_comp_dir = diep;
+ /* For now, ignore any "hostname:" portion, since gdb doesn't
+ know how to deal with it. (FIXME). */
+ dip -> at_comp_dir = strrchr (diep, ':');
+ if (dip -> at_comp_dir != NULL)
+ {
+ dip -> at_comp_dir++;
+ }
+ else
+ {
+ dip -> at_comp_dir = diep;
+ }
break;
case AT_producer:
dip -> at_producer = diep;