* corelow.c (core_open): Only call set_gdbarch_from_file if
authorMark Kettenis <kettenis@gnu.org>
Fri, 17 May 2002 23:06:10 +0000 (23:06 +0000)
committerMark Kettenis <kettenis@gnu.org>
Fri, 17 May 2002 23:06:10 +0000 (23:06 +0000)
exec_bfd is NULL.

gdb/ChangeLog
gdb/corelow.c

index 16f19e507bf16c23d40009519c34089ffaa318e5..c94caff5e84c2db2782c67dd9dbec3ad7edc84b9 100644 (file)
@@ -1,3 +1,8 @@
+2002-05-18  Mark Kettenis  <kettenis@gnu.org>
+
+       * corelow.c (core_open): Only call set_gdbarch_from_file if
+       exec_bfd is NULL.
+
 2002-05-17  Andrey Volkov <avolkov@transas.com>
 
        * h8300-tdep.c: Add support of EXR register
index 657cdc8ffc9d0b34342f95a4317adf6a3c6f48e0..785b8e1432348d875c1c14d2a0a4210b7b86ca10 100644 (file)
@@ -321,7 +321,12 @@ core_open (char *filename, int from_tty)
     error ("\"%s\": Can't find sections: %s",
           bfd_get_filename (core_bfd), bfd_errmsg (bfd_get_error ()));
 
-  set_gdbarch_from_file (core_bfd);
+  /* If we have no exec file, try to set the architecture from the
+     core file.  We don't do this unconditionally since an exec file
+     typically contains more information that helps us determine the
+     architecture than a core file.  */
+  if (!exec_bfd)
+    set_gdbarch_from_file (core_bfd);
 
   ontop = !push_target (&core_ops);
   discard_cleanups (old_chain);