* 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.
This commit is contained in:
Ian Lance Taylor 1994-02-05 05:11:46 +00:00
parent 1c214e4ceb
commit c8d672fe7a
1 changed files with 10 additions and 2 deletions

View 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. */