diff options
author | Fred Fish <fnf@specifix.com> | 1992-07-17 17:16:26 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1992-07-17 17:16:26 +0000 |
commit | d4902ab0a703784e3dfba614ad38deefa2541098 (patch) | |
tree | f4bd66d850a40855f107ac565b380ec8ca054e96 /gdb/dwarfread.c | |
parent | e4df52accde170d1d3b8617bffe4470fed4220fc (diff) | |
download | gdb-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.c | 14 |
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; |