aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-09-09 00:40:08 +0000
committerNick Clifton <nickc@redhat.com>2000-09-09 00:40:08 +0000
commitfe077fa6459a3c2e4d775407af70cc3e24a8fb31 (patch)
treed55d294786d905534bc157c02bde8dcfab11bbdf
parentd70910e85dd5d9649eb50ab12f066ada9efe976b (diff)
downloadgdb-fe077fa6459a3c2e4d775407af70cc3e24a8fb31.zip
gdb-fe077fa6459a3c2e4d775407af70cc3e24a8fb31.tar.gz
gdb-fe077fa6459a3c2e4d775407af70cc3e24a8fb31.tar.bz2
Do not initialise flags in output bfd if the input bfd is the default
architecture with the default flags.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-arm.h13
2 files changed, 13 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 17167b4..651a5ae 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2000-09-08 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Do not
+ initialise flags in output bfd if the input bfd is the default
+ architecture with the default flags.
+
2000-09-08 Kazu Hirata <kazu@hxi.com>
* archive.c: Fix formatting.
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index f3b2a44..46f8ff6 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -2038,13 +2038,14 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
if (!elf_flags_init (obfd))
{
- /* If the input is the default architecture then do not
- bother setting the flags for the output architecture,
- instead allow future merges to do this. If no future
- merges ever set these flags then they will retain their
- unitialised values, which surprise surprise, correspond
+ /* If the input is the default architecture and had the default
+ flags then do not bother setting the flags for the output
+ architecture, instead allow future merges to do this. If no
+ future merges ever set these flags then they will retain their
+ uninitialised values, which surprise surprise, correspond
to the default values. */
- if (bfd_get_arch_info (ibfd)->the_default)
+ if (bfd_get_arch_info (ibfd)->the_default
+ && elf_elfheader (ibfd)->e_flags == 0)
return true;
elf_flags_init (obfd) = true;