diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2003-12-04 22:43:36 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2003-12-04 22:43:36 +0000 |
commit | d9c458fcc1f8b060d4cbf6c4e582b20649cbee47 (patch) | |
tree | f2c4a384728c8ed9c7654fd6cd5cbece54be24e6 | |
parent | 858b45cfbf03c238202921c0d28d25af364676d6 (diff) | |
download | gdb-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/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elfxx-ia64.c | 8 | ||||
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/bfdlink.h | 4 | ||||
-rw-r--r-- | ld/ChangeLog | 9 | ||||
-rw-r--r-- | ld/emultempl/ia64elf.em | 1 | ||||
-rw-r--r-- | ld/ldlang.c | 4 | ||||
-rw-r--r-- | ld/ldmain.c | 2 |
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 (""); |