mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
Fix IA-64 linker failure reported by Andreas Schwab.
* ldlang.c (lang_process): Move lang_reset_memory_regions call after lang_do_assignments call.
This commit is contained in:
parent
55936540a7
commit
5a46fe39b3
@ -1,5 +1,8 @@
|
|||||||
2003-11-18 James E Wilson <wilson@specifixinc.com>
|
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
|
* emulparams/elf64_ia64.sh (OTHER_PLT_RELOC_SECTIONS): Include
|
||||||
.rela.opd if -pie.
|
.rela.opd if -pie.
|
||||||
|
|
||||||
|
@ -4240,8 +4240,6 @@ lang_process (void)
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
lang_reset_memory_regions ();
|
|
||||||
|
|
||||||
relax_again = FALSE;
|
relax_again = FALSE;
|
||||||
|
|
||||||
/* Note: pe-dll.c does something like this also. If you find
|
/* Note: pe-dll.c does something like this also. If you find
|
||||||
@ -4253,6 +4251,10 @@ lang_process (void)
|
|||||||
lang_do_assignments (statement_list.head, abs_output_section,
|
lang_do_assignments (statement_list.head, abs_output_section,
|
||||||
NULL, 0);
|
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
|
/* Perform another relax pass - this time we know where the
|
||||||
globals are, so can make a better guess. */
|
globals are, so can make a better guess. */
|
||||||
lang_size_sections (statement_list.head, abs_output_section,
|
lang_size_sections (statement_list.head, abs_output_section,
|
||||||
@ -4269,8 +4271,8 @@ lang_process (void)
|
|||||||
while (relax_again);
|
while (relax_again);
|
||||||
|
|
||||||
/* Final extra sizing to report errors. */
|
/* Final extra sizing to report errors. */
|
||||||
lang_reset_memory_regions ();
|
|
||||||
lang_do_assignments (statement_list.head, abs_output_section, NULL, 0);
|
lang_do_assignments (statement_list.head, abs_output_section, NULL, 0);
|
||||||
|
lang_reset_memory_regions ();
|
||||||
lang_size_sections (statement_list.head, abs_output_section,
|
lang_size_sections (statement_list.head, abs_output_section,
|
||||||
&statement_list.head, 0, 0, NULL, TRUE);
|
&statement_list.head, 0, 0, NULL, TRUE);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user