* dbxread.c (end_psymtab): Only reset texthigh if it's not already

set.  Don't reset our own texthigh, or dependency-only pst's, in
scanning all the rest of the psymtabs.
(process_one_symbol):  Fix comments around N_OBJ, N_OPT, N_UNDF.

* buildsym.h (N_UNDF):  Improve comments.
(N_LSYM, etc):  Skip types without names (":T(0,3)=sfoob...").
This commit is contained in:
John Gilmore
1992-06-14 18:10:10 +00:00
parent c3c93fda32
commit bcbf95597c
3 changed files with 44 additions and 17 deletions

View File

@@ -137,8 +137,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
case N_UNDF:
#ifdef DBXREAD_ONLY
if (processing_acc_compilation && bufp->n_strx == 1) {
/* deal with relative offsets in the string table
used in ELF+STAB under Solaris */
/* Deal with relative offsets in the string table
used in ELF+STAB under Solaris. If we want to use the
n_strx field, which contains the name of the file,
we must adjust file_string_table_offset *before* calling
SET_NAMESTRING(). */
past_first_source_file = 1;
file_string_table_offset = next_file_string_table_offset;
next_file_string_table_offset =
@@ -315,22 +318,28 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
switch (p[1])
{
case 'T':
ADD_PSYMBOL_TO_LIST (namestring, p - namestring,
STRUCT_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, CUR_SYMBOL_VALUE);
if (p[2] == 't')
if (p != namestring) /* a name is there, not just :T... */
{
/* Also a typedef with the same name. */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF,
STRUCT_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, CUR_SYMBOL_VALUE);
p += 1;
if (p[2] == 't')
{
/* Also a typedef with the same name. */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, CUR_SYMBOL_VALUE);
p += 1;
}
}
goto check_enum;
case 't':
ADD_PSYMBOL_TO_LIST (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, CUR_SYMBOL_VALUE);
if (p != namestring) /* a name is there, not just :T... */
{
ADD_PSYMBOL_TO_LIST (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, CUR_SYMBOL_VALUE);
}
check_enum:
/* If this is an enumerated type, we need to
add all the enum constants to the partial symbol