* coffcode.h (combined_entry_type): Changed fix_tag and fix_end
authorIan Lance Taylor <ian@airs.com>
Sat, 5 Feb 1994 05:11:46 +0000 (05:11 +0000)
committerIan Lance Taylor <ian@airs.com>
Sat, 5 Feb 1994 05:11:46 +0000 (05:11 +0000)
fields to bitfields.  Added fields fix_value and fix_scnlen.
(sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
STYP_INFO for the type of a section named .debug.
(coff_add_missing_symbols): Don't define if RS6000COFF_C.
(coff_write_object_contents): If RS6000COFF_C, don't call
coff_add_missing_symbols.
(coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
entry has type STY_LD change the x_scnlen into a pointer to a
symbol and set fix_scnlen.  Also, for a C_BSTAT symbol, change the
value into a pointer to a symbol and set fix_value.
* libcoff.h: Rebuilt.
* coffgen.c (coff_mangle_symbols): Reindent.  If fix_value is set,
get the symbol offset. Likewise for fix_scnlen.
(string_size): Change type to bfd_size_type.
(debug_string_size, debug_string_section): New static variables.
(coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
write the symbol name into the .debug section; assume that the
section has already been created with the right size.
(coff_write_symbols): Initialize debug_string_size to 0.  If
bfd_coff_symname_in_debug returns true, don't put symbol name in
usual string table.  After writing out all symbols, if
debug_string_size is not 0, check that it matches the size of the
.debug section.
(coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
fields.  If the string offset is 0, always use an empty string as
the name.
(coff_make_empty_symbol): Zero out the symbol structure.

bfd/libcoff.h

index 895518156711bf39a29b659879e5965ef2e38366..d657631a5f7a2fd09e1246435c03222d60f497f2 100644 (file)
@@ -127,13 +127,21 @@ typedef struct coff_ptr_struct
           this symbol. Generated by coff_renumber_symbols. */
 unsigned int offset;
 
+        /* Should the value of this symbol be renumbered.  Used for
+          XCOFF C_BSTAT symbols.  Set by coff_slurp_symbol_table.  */
+unsigned int fix_value : 1;
+
         /* Should the tag field of this symbol be renumbered.
           Created by coff_pointerize_aux. */
-char fix_tag;
+unsigned int fix_tag : 1;
 
         /* Should the endidx field of this symbol be renumbered.
           Created by coff_pointerize_aux. */
-char fix_end;
+unsigned int fix_end : 1;
+
+        /* Should the x_csect.x_scnlen field be renumbered.
+          Created by coff_slurp_symbol_table. */
+unsigned int fix_scnlen : 1;
 
         /* The container for the symbol structure as read and translated
            from the file. */