aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2003-12-04 22:43:36 +0000
committerH.J. Lu <hjl.tools@gmail.com>2003-12-04 22:43:36 +0000
commitd9c458fcc1f8b060d4cbf6c4e582b20649cbee47 (patch)
treef2c4a384728c8ed9c7654fd6cd5cbece54be24e6
parent858b45cfbf03c238202921c0d28d25af364676d6 (diff)
downloadgdb-d9c458fcc1f8b060d4cbf6c4e582b20649cbee47.zip
gdb-d9c458fcc1f8b060d4cbf6c4e582b20649cbee47.tar.gz
gdb-d9c458fcc1f8b060d4cbf6c4e582b20649cbee47.tar.bz2
bfd/
2003-12-04 H.J. Lu <hongjiu.lu@intel.com> * elfxx-ia64.c (elfNN_ia64_relax_section): Use the need_relax_finalize field in link_info instead of relax_finalizing to check if the relax finalize pass is being done. include/ 2003-12-04 H.J. Lu <hongjiu.lu@intel.com> * bfdlink.h (bfd_link_info): Change relax_finalizing to need_relax_finalize. ld/ 2003-12-04 H.J. Lu <hongjiu.lu@intel.com> * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Set link_info.need_relax_finalize to TRUE. * ldlang.c (lang_process): Use link_info.need_relax_finalize instead of link_info.relax_finalizing. * ldmain.c (main): Likewise.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elfxx-ia64.c8
-rw-r--r--include/ChangeLog5
-rw-r--r--include/bfdlink.h4
-rw-r--r--ld/ChangeLog9
-rw-r--r--ld/emultempl/ia64elf.em1
-rw-r--r--ld/ldlang.c4
-rw-r--r--ld/ldmain.c2
8 files changed, 31 insertions, 9 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 48ebc5e..b889b25 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Use the
+ need_relax_finalize field in link_info instead of
+ relax_finalizing to check if the relax finalize pass is being
+ done.
+
2003-12-04 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
* coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c
index c9da05f..aba571a 100644
--- a/bfd/elfxx-ia64.c
+++ b/bfd/elfxx-ia64.c
@@ -714,7 +714,7 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
the relax finalize pass. */
if ((sec->flags & SEC_RELOC) == 0
|| sec->reloc_count == 0
- || (link_info->relax_finalizing
+ || (!link_info->need_relax_finalize
&& sec->need_finalize_relax == 0))
return TRUE;
@@ -765,14 +765,14 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
case R_IA64_PCREL21BI:
case R_IA64_PCREL21M:
case R_IA64_PCREL21F:
- if (link_info->relax_finalizing)
+ if (!link_info->need_relax_finalize)
continue;
is_branch = TRUE;
break;
case R_IA64_LTOFF22X:
case R_IA64_LDXMOV:
- if (!link_info->relax_finalizing)
+ if (link_info->need_relax_finalize)
{
sec->need_finalize_relax = 1;
continue;
@@ -1073,7 +1073,7 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
/* ??? Resize .rela.got too. */
}
- if (link_info->relax_finalizing)
+ if (!link_info->need_relax_finalize)
sec->need_finalize_relax = 0;
*again = changed_contents || changed_relocs;
diff --git a/include/ChangeLog b/include/ChangeLog
index d7c752b..4328b98 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfdlink.h (bfd_link_info): Change relax_finalizing to
+ need_relax_finalize.
+
2003-12-03 Alan Modra <amodra@bigpond.net.au>
* bfdlink.h (struct bfd_link_hash_entry): Rename "next" to "und_next".
diff --git a/include/bfdlink.h b/include/bfdlink.h
index f31046d..a989f64 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -285,8 +285,8 @@ struct bfd_link_info
/* TRUE if global symbols in discarded sections should be stripped. */
unsigned int strip_discarded: 1;
- /* TRUE if relaxation is being finalized. */
- unsigned int relax_finalizing: 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;
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 6057102..bf844d1 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,12 @@
+2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Set
+ link_info.need_relax_finalize to TRUE.
+
+ * ldlang.c (lang_process): Use link_info.need_relax_finalize
+ instead of link_info.relax_finalizing.
+ * ldmain.c (main): Likewise.
+
2003-12-04 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
* armpe.sh (RELOCATEABLE_OUTPUT_FORMAT): Define.
diff --git a/ld/emultempl/ia64elf.em b/ld/emultempl/ia64elf.em
index 3964059..eee467b 100644
--- a/ld/emultempl/ia64elf.em
+++ b/ld/emultempl/ia64elf.em
@@ -32,6 +32,7 @@ static int itanium = 0;
static void
gld${EMULATION_NAME}_after_parse (void)
{
+ link_info.need_relax_finalize = TRUE;
bfd_elf${ELFSIZE}_ia64_after_parse (itanium);
}
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 3353f98..e371404 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -4262,9 +4262,9 @@ lang_process (void)
/* If the normal relax is done and the relax finalize pass
is not performed yet, we perform another relax pass. */
- if (!relax_again && !link_info.relax_finalizing)
+ if (!relax_again && link_info.need_relax_finalize)
{
- link_info.relax_finalizing = TRUE;
+ link_info.need_relax_finalize = FALSE;
relax_again = TRUE;
}
}
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 51e8b8a..bbafcdb 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -321,7 +321,7 @@ main (int argc, char **argv)
link_info.spare_dynamic_tags = 5;
link_info.flags = 0;
link_info.flags_1 = 0;
- link_info.relax_finalizing = FALSE;
+ link_info.need_relax_finalize = FALSE;
ldfile_add_arch ("");