2003-11-18 James E Wilson <wilson@specifixinc.com>
+ * ldlang.c (lang_process): Move lang_reset_memory_regions call after
+ lang_do_assignments call.
+
* emulparams/elf64_ia64.sh (OTHER_PLT_RELOC_SECTIONS): Include
.rela.opd if -pie.
do
{
- lang_reset_memory_regions ();
-
relax_again = FALSE;
/* Note: pe-dll.c does something like this also. If you find
lang_do_assignments (statement_list.head, abs_output_section,
NULL, 0);
+ /* We must do this after lang_do_assignments, because it uses
+ _raw_size. */
+ lang_reset_memory_regions ();
+
/* Perform another relax pass - this time we know where the
globals are, so can make a better guess. */
lang_size_sections (statement_list.head, abs_output_section,
while (relax_again);
/* Final extra sizing to report errors. */
- lang_reset_memory_regions ();
lang_do_assignments (statement_list.head, abs_output_section, NULL, 0);
+ lang_reset_memory_regions ();
lang_size_sections (statement_list.head, abs_output_section,
&statement_list.head, 0, 0, NULL, TRUE);
}