diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-07-30 15:52:26 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-07-30 15:52:26 +0000 |
commit | 247145e6f09b18f41117b8239dae0d4d9b539950 (patch) | |
tree | d3c059dbe509ee788dcea27b3fe4883b70bc493d /gdb/paread.c | |
parent | ca33fca1f9185cb1f128ce4e8ab72bbbdcd648c0 (diff) | |
download | gdb-247145e6f09b18f41117b8239dae0d4d9b539950.zip gdb-247145e6f09b18f41117b8239dae0d4d9b539950.tar.gz gdb-247145e6f09b18f41117b8239dae0d4d9b539950.tar.bz2 |
* paread.c (pa_symtab_read): Put file-local symbols in minimal symbols.
* hppa-tdep.c (frame_chain_valid): Check that our function has the
same address as _start, not that it must be the same symbol.
Diffstat (limited to 'gdb/paread.c')
-rw-r--r-- | gdb/paread.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/gdb/paread.c b/gdb/paread.c index f8bd4bf..a4425a9 100644 --- a/gdb/paread.c +++ b/gdb/paread.c @@ -157,7 +157,10 @@ pa_symtab_read (abfd, addr, objfile) } break; +#if 0 + /* SS_GLOBAL and SS_LOCAL are two names for the same thing (!). */ case SS_GLOBAL: +#endif case SS_LOCAL: switch (bufp->symbol_type) { @@ -167,19 +170,18 @@ pa_symtab_read (abfd, addr, objfile) case ST_CODE: symname = bufp->name.n_strx + stringtab; + ms_type = mst_file_text; + bufp->symbol_value &= ~0x3; /* clear out permission bits */ + + check_strange_names: /* GAS leaves symbols with the prefixes "LS$", "LBB$", and "LBE$" in .o files after assembling. And thus they appear in the final executable. This can cause problems if these special symbols have the - same value as real symbols. So ignore them. Is this - meant as a feature, or is it just a GAS bug? */ + same value as real symbols. So ignore them. Also "LC$". */ if (*symname == 'L' - && (symname[2] == '$' && symname[1] == 'S' - || (symname[3] == '$' && symname[1] == 'B' - && (symname[2] == 'B' || symname[2] == 'E')))) + && (symname[2] == '$' || symname[3] == '$')) continue; - ms_type = mst_file_text; - bufp->symbol_value &= ~0x3; /* clear out permission bits */ break; case ST_PRI_PROG: @@ -190,13 +192,17 @@ pa_symtab_read (abfd, addr, objfile) ms_type = mst_file_text; bufp->symbol_value &= ~0x3; /* clear out permission bits */ break; + case ST_DATA: symname = bufp->name.n_strx + stringtab; ms_type = mst_file_data; - break; + goto check_strange_names; + default: continue; } + break; + default: continue; } |