This is the mail archive of the binutils-cvs@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

src/bfd ChangeLog elfxx-mips.c


CVSROOT:	/cvs/src
Module name:	src
Changes by:	aoliva@sourceware.org	2003-01-28 00:01:28

Modified files:
	bfd            : ChangeLog elfxx-mips.c 

Log message:
	* elfxx-mips.c (mips_elf_multi_got): New function.
	(struct mips_got_entry): Make symndx and gotidx signed.  Moved
	addend into union along with address and link hash entry.
	(struct mips_got_info): Added bfd2got and next.
	(struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
	(mips_elf_got_section, mips_elf_create_got_section): Use
	SEC_EXCLUDE bit to tell whether we really need the got
	section.  Take boolean arguments to disregard an excluded
	section, or to create it as excluded.  Adjust all callers.
	Use mips_elf_got_section all over.
	(mips_elf_local_got_index, mips_elf_got_page,
	mips_elf_got16_entry): Take input bfd as argument, and pass it
	on to mips_elf_create_local_got_entry.
	(mips_elf_global_got_index, mips_elf_create_local_got_entry):
	Take input bfd as argument, and manage entries in the
	appropriate GOT.
	(mips_elf_got_offset_from_index): Take input bfd as argument,
	and use it to adjust the GP offset of the bfd.
	(mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
	unreferenced GOT entries of global symbols to the end.
	(mips_elf_record_global_got_symbol): Take input bfd as
	argument.  Add entries to the master GOT hash table.
	(struct mips_elf_bfd2got_hash): New.
	(struct mips_elf_got_per_bfd_arg): New.
	(struct mips_elf_set_global_got_offset_arg): New.
	(mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
	mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
	mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
	mips_elf_merge_gots, mips_elf_set_global_got_offset,
	mips_elf_resolve_final_got_entry,
	mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
	mips_elf_got_for_ibfd): New functions.
	(ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
	(MIPS_ELF_GOT_MAX_SIZE): New macro.
	(STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
	(mips_elf_got_entry_hash): Take new fields into account.  Use
	mips_elf_hash_bfd_vma.
	(mips_elf_got_entry_eq): Take new fields into account.
	(mips_elf_create_got_section): Initialize new fields.
	(mips_elf_calculate_relocation): Pass input_bfd to functions
	that now take it.  Adjust gp for the input_bfd.
	(mips_elf_allocate_dynamic_relocation,
	mips_elf_create_dynamic_relocation,
	_bfd_mips_elf_create_dynamic_sections): Use...
	(mips_elf_rel_dyn_section): New function.  Borrow code from...
	(_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
	now take it.  Create the got section if needed, even if
	excluded, before recording a global got symbol.  Move some
	code to...
	(mips_elf_record_local_got_symbol): New fn.
	(_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
	Compute multi-got global entries offsets.  Move GOT code to...
	(_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
	if the GOT is too big.
	(_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
	undefweak symbol to zero.  Generate dynamic relocations for
	non-primary GOT entries for global symbols.
	(_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
	case.  Generate dynamic relocations for local got entries.
	Sort dynamic relocations on N64 too, using...
	(sort_dynamic_relocs_64): New fns.
	(_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&r1=1.1899&r2=1.1900
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elfxx-mips.c.diff?cvsroot=src&r1=1.38&r2=1.39


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]