From c8d672fe7a5f7638c919c82a32e9cf4aa0d32d61 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sat, 5 Feb 1994 05:11:46 +0000 Subject: [PATCH] * coffcode.h (combined_entry_type): Changed fix_tag and fix_end 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 | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bfd/libcoff.h b/bfd/libcoff.h index 8955181..d657631 100644 --- a/bfd/libcoff.h +++ b/bfd/libcoff.h @@ -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. */ -- 2.7.4