2006-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	* elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes
	with the skip_relax_pass_0 and skip_relax_pass_1 bits in the
	section structure.

include/

2006-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	* bfdlink.h (bfd_link_info): Replace need_relax_finalize with
	relax_pass.

ld/

2006-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	* emultempl/ia64elf.em: Set link_info.relax_pass to 2. Remove
	link_info.need_relax_finalize.

	* ldlang.c (relax_sections): New.
	(lang_process): Use. Call relax_sections link_info.relax_pass
	times.

	* ldmain.c (main): Set link_info.relax_pass to 1. Remove
	link_info.need_relax_finalize.
This commit is contained in:
H.J. Lu 2006-04-06 18:52:45 +00:00
parent 7d7113db13
commit 7e83753ef5
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2006-04-06 H.J. Lu <hongjiu.lu@intel.com>
* bfdlink.h (bfd_link_info): Replace need_relax_finalize with
relax_pass.
2006-03-25 Bernd Schmidt <bernd.schmidt@analog.com>
* elf/bfin.h (R_BFIN_GOT17M4, R_BFIN_GOTHI, R_BFIN_GOTLO,

View File

@ -301,9 +301,6 @@ struct bfd_link_info
/* TRUE if global symbols in discarded sections should be stripped. */
unsigned int strip_discarded: 1;
/* TRUE if the final relax pass is needed. */
unsigned int need_relax_finalize: 1;
/* TRUE if generating a position independent executable. */
unsigned int pie: 1;
@ -398,6 +395,12 @@ struct bfd_link_info
unloaded. */
const char *fini_function;
/* Number of relaxation passes. Usually only one relaxation pass
is needed. But a backend can have as many relaxation passes as
necessary. During bfd_relax_section call, it is set to the
current pass, starting from 0. */
int relax_pass;
/* Non-zero if auto-import thunks for DATA items in pei386 DLLs
should be generated/linked against. Set to 1 if this feature
is explicitly requested by the user, -1 if enabled by default. */