* emultempl/mmix-elfnmmo.em (mmix_before_allocation): Force linker
authorHans-Peter Nilsson <hp@axis.com>
Sat, 18 Oct 2003 15:49:10 +0000 (15:49 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Sat, 18 Oct 2003 15:49:10 +0000 (15:49 +0000)
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).

ld/ChangeLog
ld/emultempl/mmix-elfnmmo.em
ld/scripttempl/mmo.sc

index be94011..187ae59 100644 (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
        sections.
 
        * ldlang.c (lang_size_sections): Last, set _cooked_size for output
        sections.
 
index 3668e51..9777fa3 100644 (file)
@@ -38,11 +38,11 @@ mmix_before_allocation (void)
      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 to keep them in sync.  (Of course we lose the
      maintenance burden of checking that it still does what we need.)  */
 
-  /* Force -relax on if not doing a relocatable link.  */
-  if (! link_info.relocatable)
-    command_line.relax = TRUE;
+  /* Force -relax on (regardless of whether we're doing a relocatable
+     link).  */
+  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",
           MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME);
 }
     einfo ("%X%P: Internal problems setting up section %s",
           MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME);
 }
@@ -109,7 +109,7 @@ mmix_after_allocation (void)
   if (sec != NULL)
     bfd_set_section_vma (abfd, sec, 0);
 
   if (sec != NULL)
     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.  */
       einfo ("%F%P: Can't finalize linker-allocated global registers\n");
     {
       /* This is a fatal error; make einfo call not return.  */
       einfo ("%F%P: Can't finalize linker-allocated global registers\n");
index b93953d..643b349 100644 (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) }
   .stabstr 0 : { *(.stabstr) }
 
   .stab 0 : { *(.stab) }
   .stabstr 0 : { *(.stabstr) }