diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2003-04-29 01:53:46 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2003-04-29 01:53:46 +0000 |
commit | c7996ad62885c79a8d94f98dd03e390c6a2d4551 (patch) | |
tree | f0f0b43bb5010844385b4de688854926d73e9edb /ld/ldlang.c | |
parent | 0ba6dca974b6df1fc1ac67608815cf5a2603856d (diff) | |
download | gdb-c7996ad62885c79a8d94f98dd03e390c6a2d4551.zip gdb-c7996ad62885c79a8d94f98dd03e390c6a2d4551.tar.gz gdb-c7996ad62885c79a8d94f98dd03e390c6a2d4551.tar.bz2 |
bfd/
2003-04-28 H.J. Lu <hjl@gnu.org>
* elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
the relax finalize pass.
* section.c (struct sec): Add need_finalize_relax and remove
flag11.
(STD_SECTION): Update struct sec initializer.
* bfd-in2.h: Regenerated.
include/
2003-04-28 H.J. Lu <hjl@gnu.org>
* bfdlink.h (bfd_link_info): Add relax_finalizing.
ld/
2003-04-28 H.J. Lu <hjl@gnu.org>
* ldlang.c (lang_process): Add the relax finalize pass.
* ldmain.c (main): Initialize link_info.relax_finalizing to
FALSE.
Diffstat (limited to 'ld/ldlang.c')
-rw-r--r-- | ld/ldlang.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ld/ldlang.c b/ld/ldlang.c index 5cca71f..8846917 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -4393,6 +4393,14 @@ lang_process () abs_output_section, &statement_list.head, 0, (bfd_vma) 0, &relax_again, FALSE); + + /* 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) + { + link_info.relax_finalizing = TRUE; + relax_again = TRUE; + } } while (relax_again); |