Updated some copyrights, cleaned up some header-file comments, and:
authorKen Raeburn <raeburn@cygnus>
Wed, 13 Jul 1994 01:48:15 +0000 (01:48 +0000)
committerKen Raeburn <raeburn@cygnus>
Wed, 13 Jul 1994 01:48:15 +0000 (01:48 +0000)
* 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.

gas/ChangeLog
gas/subsegs.c

index d25a0e6..2aba961 100644 (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
index 55e111e..e94dc64 100644 (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.  */