* emultempl/mmix-elfnmmo.em (mmix_before_allocation): Force linker

relaxation always; don't exclude relocatable linking.  Adjust for
	_bfd_mmix_prepare_linker_allocated_gregs renamed to
	_bfd_mmix_before_linker_allocation.
	(mmix_after_allocation): Adjust for
	_bfd_mmix_finalize_linker_allocated_gregs renamed to
	_bfd_mmix_after_linker_allocation.
	* scripttempl/mmo.sc: Use ADDR (.text), not . - SIZEOF (.text).
This commit is contained in:
Hans-Peter Nilsson
2003-10-18 15:49:10 +00:00
parent f4b9d8efb9
commit 06335781f6
3 changed files with 15 additions and 6 deletions

View File

@ -1,5 +1,14 @@
2003-10-18 Hans-Peter Nilsson <hp@bitrange.com> 2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
* emultempl/mmix-elfnmmo.em (mmix_before_allocation): Force linker
relaxation always; don't exclude relocatable linking. Adjust for
_bfd_mmix_prepare_linker_allocated_gregs renamed to
_bfd_mmix_before_linker_allocation.
(mmix_after_allocation): Adjust for
_bfd_mmix_finalize_linker_allocated_gregs renamed to
_bfd_mmix_after_linker_allocation.
* scripttempl/mmo.sc: Use ADDR (.text), not . - SIZEOF (.text).
* ldlang.c (lang_size_sections): Last, set _cooked_size for output * ldlang.c (lang_size_sections): Last, set _cooked_size for output
sections. sections.

View File

@ -38,11 +38,11 @@ mmix_before_allocation (void)
maintenance burden to keep them in sync. (Of course we lose the maintenance burden to keep them in sync. (Of course we lose the
maintenance burden of checking that it still does what we need.) */ maintenance burden of checking that it still does what we need.) */
/* Force -relax on if not doing a relocatable link. */ /* Force -relax on (regardless of whether we're doing a relocatable
if (! link_info.relocatable) link). */
command_line.relax = TRUE; command_line.relax = TRUE;
if (!_bfd_mmix_prepare_linker_allocated_gregs (output_bfd, &link_info)) if (!_bfd_mmix_before_linker_allocation (output_bfd, &link_info))
einfo ("%X%P: Internal problems setting up section %s", einfo ("%X%P: Internal problems setting up section %s",
MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME); MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME);
} }
@ -109,7 +109,7 @@ mmix_after_allocation (void)
if (sec != NULL) if (sec != NULL)
bfd_set_section_vma (abfd, sec, 0); bfd_set_section_vma (abfd, sec, 0);
if (!_bfd_mmix_finalize_linker_allocated_gregs (output_bfd, &link_info)) if (!_bfd_mmix_after_linker_allocation (output_bfd, &link_info))
{ {
/* This is a fatal error; make einfo call not return. */ /* This is a fatal error; make einfo call not return. */
einfo ("%F%P: Can't finalize linker-allocated global registers\n"); einfo ("%F%P: Can't finalize linker-allocated global registers\n");

View File

@ -55,7 +55,7 @@ SECTIONS
${RELOCATING+ PROVIDE(_etext = .);} ${RELOCATING+ PROVIDE(_etext = .);}
${RELOCATING+ PROVIDE(__etext = .);} ${RELOCATING+ PROVIDE(__etext = .);}
} }
${RELOCATING+Main = DEFINED (Main) ? Main : (DEFINED (_start) ? _start : . - SIZEOF (.text));} ${RELOCATING+Main = DEFINED (Main) ? Main : (DEFINED (_start) ? _start : ADDR (.text));}
.stab 0 : { *(.stab) } .stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) } .stabstr 0 : { *(.stabstr) }