* coff-mips.c (ecoff_sec_to_styp_flags): Use STYP_MIPS_INIT for
authorIan Lance Taylor <ian@airs.com>
Thu, 10 Jun 1993 18:51:48 +0000 (18:51 +0000)
committerIan Lance Taylor <ian@airs.com>
Thu, 10 Jun 1993 18:51:48 +0000 (18:51 +0000)
section named _INIT.  Don't set STYP_TEXT unless SEC_CODE is set.
(ecoff_styp_to_sec_flags): Treat a STYP_MIPS_INIT section like
a STYP_TEXT section.

bfd/ChangeLog
bfd/coff-mips.c

index 0f2f01d507fe6db39a8b9bf7c97eb922c643eea3..eff66616a595381d7e765314298a1456b0bea584 100644 (file)
@@ -1,3 +1,10 @@
+Thu Jun 10 11:48:28 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+       * coff-mips.c (ecoff_sec_to_styp_flags): Use STYP_MIPS_INIT for
+       section named _INIT.  Don't set STYP_TEXT unless SEC_CODE is set.
+       (ecoff_styp_to_sec_flags): Treat a STYP_MIPS_INIT section like
+       a STYP_TEXT section.
+
 Wed Jun  9 16:48:13 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
 
        * Makefile.in (install, headers): don't put comments after a tab
index 6012b14783c75123d63494d17d454f154302c8b4..45175580c38b372e3131dab45d2b49a11cda5fdb 100644 (file)
@@ -526,6 +526,8 @@ ecoff_sec_to_styp_flags (name, flags)
     styp = STYP_BSS;
   else if (strcmp (name, _SBSS) == 0)
     styp = STYP_SBSS;
+  else if (strcmp (name, _INIT) == 0)
+    styp = STYP_MIPS_INIT;
   else if (flags & SEC_CODE) 
     styp = STYP_TEXT;
   else if (flags & SEC_DATA) 
@@ -533,7 +535,7 @@ ecoff_sec_to_styp_flags (name, flags)
   else if (flags & SEC_READONLY)
     styp = STYP_RDATA;
   else if (flags & SEC_LOAD)
-    styp = STYP_TEXT;
+    styp = STYP_REG;
   else
     styp = STYP_BSS;
 
@@ -559,7 +561,8 @@ ecoff_styp_to_sec_flags (abfd, hdr)
 
   /* For 386 COFF, at least, an unloadable text or data section is
      actually a shared library section.  */
-  if (styp_flags & STYP_TEXT)
+  if ((styp_flags & STYP_TEXT)
+      || (stype_FLAGS & STYP_MIPS_INIT))
     {
       if (sec_flags & SEC_NEVER_LOAD)
        sec_flags |= SEC_CODE | SEC_SHARED_LIBRARY;