Updated some copyrights, cleaned up some header-file comments, and:

* symbols.c (symbol_create): New function, most of the guts of the old
symbol_new function.
(symbol_new): Now just checks symbol_table_frozen, calls symbol_create, and
enters the symbol into the symbol table.
* subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true, and the
symbol table is frozen, call symbol_create instead of symbol_new.
* symbols.h (symbol_create, symbol_table_frozen): Declare.

* symbols.c (symbol_clear_list_pointers): Always a function now.
* struc-symbol.h (symbol_clear_list_pointers): Deleted macro version.

* symbols.c (debug_verify_symchain): New macro, defined to be
verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
(many functions): Invoke debug_verify_symchain unconditionally.
This commit is contained in:
Ken Raeburn 1994-07-13 01:48:15 +00:00
parent 6b510a40ae
commit 3c498933ab
2 changed files with 31 additions and 4 deletions

View File

@ -2,6 +2,23 @@ Tue Jul 12 21:27:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
* config/ho-sysv.h (realloc): Declare.
* symbols.c (symbol_create): New function, most of the guts of the
old symbol_new function.
(symbol_new): Now just checks symbol_table_frozen, calls
symbol_create, and enters the symbol into the symbol table.
* subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true,
and the symbol table is frozen, call symbol_create instead of
symbol_new.
* symbols.h (symbol_create, symbol_table_frozen): Declare.
* symbols.c (symbol_clear_list_pointers): Always a function now.
* struc-symbol.h (symbol_clear_list_pointers): Deleted macro
version.
* symbols.c (debug_verify_symchain): New macro, defined to be
verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
(many functions): Invoke debug_verify_symchain unconditionally.
Tue Jul 12 12:06:42 1994 Kung Hsu (kung@x1.cygnus.com)
* config/obj-ecoff.h: change calling interface of

View File

@ -145,8 +145,7 @@ subseg_change (seg, subseg)
if (! seginfo)
{
seginfo = (segment_info_type *) xmalloc (sizeof (*seginfo));
if (! seginfo)
abort ();
memset ((PTR) seginfo, 0, sizeof (*seginfo));
seginfo->fix_root = NULL;
seginfo->fix_tail = NULL;
seginfo->bfd_section = seg;
@ -420,7 +419,7 @@ subseg_get (segname, force_new)
if (secptr->output_section != secptr)
secptr->output_section = secptr;
seginfo = (segment_info_type *) xmalloc (sizeof (*seginfo));
memset ((char *) seginfo, 0, sizeof(seginfo));
memset ((PTR) seginfo, 0, sizeof (*seginfo));
seginfo->fix_root = NULL;
seginfo->fix_tail = NULL;
seginfo->bfd_section = secptr;
@ -513,7 +512,18 @@ section_symbol (sec)
s = symbol_find (sec->name);
if (!s)
{
s = symbol_new (sec->name, sec, 0, &zero_address_frag);
#ifndef EMIT_SECTION_SYMBOLS
#define EMIT_SECTION_SYMBOLS 1
#endif
if (EMIT_SECTION_SYMBOLS
#ifdef BFD_ASSEMBLER
&& symbol_table_frozen
#endif
)
s = symbol_new (sec->name, sec, 0, &zero_address_frag);
else
s = symbol_create (sec->name, sec, 0, &zero_address_frag);
S_CLEAR_EXTERNAL (s);
/* Use the BFD section symbol, if possible. */