aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>1997-11-26 17:31:53 +0000
committerNick Clifton <nickc@redhat.com>1997-11-26 17:31:53 +0000
commit803fea795a13b72d2836e75b1983c13f86296ea8 (patch)
treecb92ee796128dcabdbb269a5c30be6412b6723bb
parent3199620a493eb1dd2dbc064bc520e386d2fb9114 (diff)
downloadgdb-803fea795a13b72d2836e75b1983c13f86296ea8.zip
gdb-803fea795a13b72d2836e75b1983c13f86296ea8.tar.gz
gdb-803fea795a13b72d2836e75b1983c13f86296ea8.tar.bz2
Do no set private flags if building a PE port.
-rw-r--r--bfd/ChangeLog10
-rw-r--r--bfd/coffcode.h19
2 files changed, 25 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8083b75..9da61b4 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index be39c22..669cfde 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -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;