Do no set private flags if building a PE port.
authorNick Clifton <nickc@redhat.com>
Wed, 26 Nov 1997 17:31:53 +0000 (17:31 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 26 Nov 1997 17:31:53 +0000 (17:31 +0000)
bfd/ChangeLog
bfd/coffcode.h

index 8083b75c40949533f0d649db4ec2304d590f6e75..9da61b493ff5edd612fd05a6c09c1b113ae786b8 100644 (file)
@@ -1,3 +1,13 @@
+Wed Nov 26 09:30:37 1997  Nick Clifton  <nickc@cygnus.com>
+
+       * coffcode.h (coff_mkobject_hook): Only set private flags for non
+       PE ARM ports.
+
+Tue Nov 25 15:33:23 1997  Richard Henderson  <rth@cygnus.com>
+
+       * binary.c (binary_set_section_contents): Also ignore NEVER_LOAD
+       sections.
+
 Tue Nov 25 10:55:36 1997  Nick Clifton  <nickc@cygnus.com>
 
        * coff-arm.c (coff_arm_bfd_merge_private_bfd_data): Do not
index be39c22c93fb14e15e7e819cd4680835735af73f..669cfdefb9f3a350e83bb667973ae4c40c5f71dc 100644 (file)
@@ -503,7 +503,7 @@ styp_to_sec_flags (abfd, hdr, name)
         section VMA and the file offset match.  If we don't know
         COFF_PAGE_SIZE, we can't ensure the correct correspondence,
         and demand page loading of the file will fail.  */
-#ifdef COFF_PAGE_SIZE
+#if defined (COFF_PAGE_SIZE) && !defined (COFF_ALIGN_IN_S_FLAGS)
       sec_flags |= SEC_DEBUGGING;
 #endif
     }
@@ -1315,7 +1315,7 @@ coff_mkobject_hook (abfd, filehdr, aouthdr)
     }
 #endif
 
-#ifdef  ARM
+#if defined  ARM && ! defined COFF_WITH_PE
   /* Set the flags field from the COFF header read in */
   if (! coff_arm_bfd_set_private_flags (abfd, internal_f->f_flags))
     coff->flags = 0;
@@ -1982,8 +1982,19 @@ coff_set_flags (abfd, magicp, flagsp)
     case bfd_arch_arm:
       * magicp = ARMMAGIC;
       * flagsp = 0;
-      if (APCS_SET (abfd) && APCS_FLAG (abfd))
-       * flagsp = F_APCS26;
+      if (APCS_SET (abfd))
+       {
+         if (APCS_26_FLAG (abfd))
+           * flagsp |= F_APCS26;
+         
+         if (APCS_FLOAT_FLAG (abfd))
+           * flagsp |= F_APCS_FLOAT;
+         
+         if (PIC_FLAG (abfd))
+           * flagsp |= F_PIC;
+       }
+      if (INTERWORK_SET (abfd) && INTERWORK_FLAG (abfd))
+       * flagsp |= F_INTERWORK;
       switch (bfd_get_mach (abfd))
        {
        case bfd_mach_arm_2:  * flagsp |= F_ARM_2;  break;