* libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.
	* libcoff.h: Regenerate.
	* xcofflink.c (xcoff_keep_symbol_p): New function, using the
	"skip" logic from xcoff_link_input_bfd.
	(bfd_xcoff_size_dynamic_sections): Explicitly skip dynamic
	objects in a dynamic link, rather than checking whether csectpp
	is null.  Always allocate debug_index for other objects,
	and always go through the loop.  Update the type of debug_index
	after the change above.  Read the auxillary csect information
	and use xcoff_keep_symbol_p to decide whether a symbol should
	be kept.  Set its debug_index to -2 if not.
	(xcoff_link_input_bfd): Update the type of debug_index after
	the change above and always expect it to be nonnull.  Use it to
	test whether a symbol should be stripped, rather than making the
	decision here.  Postpone all symbol creation to the second pass.
This commit is contained in:
Richard Sandiford
2009-03-14 09:32:06 +00:00
parent 47dfb2ca05
commit e450936a6f
4 changed files with 291 additions and 253 deletions

View File

@@ -169,7 +169,7 @@ struct xcoff_tdata
/* Used by the XCOFF backend linker. */
asection **csects;
unsigned long *debug_indices;
long *debug_indices;
unsigned int import_file_id;
};