* h8300hms.em, h8300hms.sc-sh: do the right thing for -r
authorSteve Chamberlain <sac@cygnus>
Thu, 18 Jun 1992 16:42:46 +0000 (16:42 +0000)
committerSteve Chamberlain <sac@cygnus>
Thu, 18 Jun 1992 16:42:46 +0000 (16:42 +0000)
* ldexp.c:  lint
* ldlang.c(open_output): set the target arch and machine as soon
as we can. (lang_size_sections): use new macros for setting vma
* ldwrite.c: lint

ld/ChangeLog
ld/h8300hms.em
ld/h8300hms.sc-sh
ld/ldlang.c

index cd923e5c19ca8f9f3c08322fcd5566ed9ea18a7b..6ad0c50017492c30fed5cd1a0c017612d7d80e5a 100644 (file)
@@ -1,3 +1,11 @@
+Thu Jun 18 09:38:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+       * h8300hms.em, h8300hms.sc-sh:  do the right thing for -r
+       * ldexp.c:  lint
+       * ldlang.c(open_output): set the target arch and machine as soon
+       as we can. (lang_size_sections): use new macros for setting vma
+       * ldwrite.c: lint
+
 Mon Jun 15 08:47:43 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
 
        * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
index c14467bed7fcdb781b08a20c7af579f9eae102db..2402dc9f552b4411b4fffae57223e28bb87180f9 100644 (file)
@@ -53,10 +53,10 @@ static char *h8300hms_script =
 #include "h8300hms.x"
 ;
 static char *h8300hms_script_option_Ur  =  
-#include "h8300hms.xu"
+#include "h8300hms.x"
 ;
 static char *h8300hms_script_option_r  =  
-#include "h8300hms.xr"
+#include "h8300hms.x"
 ;
 
 static char *h8300hms_get_script()
index 6eab5c2e99b1da18934218cabd1661e81fb6bb77..ca19afbba9f82d983d6ffb2aa8259ca9d05e770d 100755 (executable)
@@ -16,23 +16,23 @@ SECTIONS
        {                                       
          *(.text)                              
          *(.strings)
-         ${RELOCATING+_etext = .;}
+         _etext = .;
        } ${RELOCATING+ > ram}
 .data  :
        {
        *(.data)
-       ${RELOCATING+_edata = .;}
+       _edata = .;
        } ${RELOCATING+ > ram}
 .bss  :
        {
-       ${RELOCATING+ _bss_start = .;}
+       ${RELOCATING+ _bss_start = .};
        *(.bss)
        *(COMMON)
        ${RELOCATING+ _end = .};
        } ${RELOCATING+ >ram}
 .stack : 
        {
-       ${RELOCATING+_stack = .;}
+       _stack = .;
        *(.stack)
        } ${RELOCATING+ > topram}
 }
index 00250a30deebf041f739670401d696ddef05c7ae..e1f3f2f541915e69d7a9d5d71ee6c3d716563357 100644 (file)
@@ -714,30 +714,37 @@ static bfd *
 DEFUN (open_output, (name),
        CONST char *CONST name)
 {
+  extern unsigned long ldfile_output_machine;
+  extern enum bfd_architecture ldfile_output_architecture;
+
   extern CONST char *output_filename;
   bfd *output;
 
   if (output_target == (char *) NULL)
-    {
-      if (current_target != (char *) NULL)
-       output_target = current_target;
-      else
-       output_target = default_target;
-    }
+  {
+    if (current_target != (char *) NULL)
+     output_target = current_target;
+    else
+     output_target = default_target;
+  }
   output = bfd_openw (name, output_target);
   output_filename = name;
 
   if (output == (bfd *) NULL)
+  {
+    if (bfd_error == invalid_target)
     {
-      if (bfd_error == invalid_target)
-       {
-         einfo ("%P%F target %s not found\n", output_target);
-       }
-      einfo ("%P%F problem opening output file %s, %E", name);
+      einfo ("%P%F target %s not found\n", output_target);
     }
+    einfo ("%P%F problem opening output file %s, %E", name);
+  }
+
+  /*  output->flags |= D_PAGED;*/
 
-/*  output->flags |= D_PAGED;*/
   bfd_set_format (output, bfd_object);
+  bfd_set_arch_mach(output,
+                   ldfile_output_architecture,
+                   ldfile_output_machine);
   return output;
 }
 
@@ -1446,7 +1453,7 @@ DEFUN (lang_size_sections, (s, output_section_statement, prev, fill,
            if (os->bfd_section == &bfd_abs_section)
              {
                /* No matter what happens, an abs section starts at zero */
-               os->bfd_section->vma = 0;
+               bfd_set_section_vma (0, os->bfd_section, 0);
              }
            else
              {
@@ -1481,7 +1488,7 @@ DEFUN (lang_size_sections, (s, output_section_statement, prev, fill,
 
 
                dot = align_power (dot, os->bfd_section->alignment_power);
-               os->bfd_section->vma = dot;
+               bfd_set_section_vma (0, os->bfd_section, dot);
              }