s390: Remove duplicate checks for cached gdbarch at init
authorPhilipp Rudo <prudo@linux.vnet.ibm.com>
Tue, 23 Jan 2018 12:37:41 +0000 (13:37 +0100)
committerAndreas Arnez <arnez@linux.vnet.ibm.com>
Tue, 23 Jan 2018 12:37:41 +0000 (13:37 +0100)
When initializing the gdbarch there is a check whether an appropriate
gdbarch already exists in the gdbarch_list.  Failing of some of the checks
would lead to a different target description.  However
gdbarch_list_lookup_by_info already checks for

if (info->target_desc != arches->gdbarch->target_desc)
  continue;

Remove these duplicate checks.

gdb/ChangeLog:

* s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
when looking for cached gdbarch and add comment for remaining.

gdb/ChangeLog
gdb/s390-linux-tdep.c

index b1e9f9f..da76bbe 100644 (file)
@@ -1,3 +1,8 @@
+2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
+
+       * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
+       when looking for cached gdbarch and add comment for remaining.
+
 2018-01-22  Pedro Alves  <palves@redhat.com>
            Sergio Durigan Junior  <sergiodj@redhat.com>
 
 2018-01-22  Pedro Alves  <palves@redhat.com>
            Sergio Durigan Junior  <sergiodj@redhat.com>
 
index b120d24..972b91f 100644 (file)
@@ -8047,14 +8047,11 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
       tdep = gdbarch_tdep (arches->gdbarch);
       if (!tdep)
        continue;
       tdep = gdbarch_tdep (arches->gdbarch);
       if (!tdep)
        continue;
-      if (tdep->abi != tdep_abi)
-       continue;
+      /* A program can 'choose' not to use the vector registers when they
+        are present.  Leading to the same tdesc but different tdep and
+        thereby a different gdbarch.  */
       if (tdep->vector_abi != vector_abi)
        continue;
       if (tdep->vector_abi != vector_abi)
        continue;
-      if ((tdep->gpr_full_regnum != -1) != have_upper)
-       continue;
-      if (tdep->have_gs != have_gs)
-       continue;
       if (tdesc_data != NULL)
        tdesc_data_cleanup (tdesc_data);
       return arches->gdbarch;
       if (tdesc_data != NULL)
        tdesc_data_cleanup (tdesc_data);
       return arches->gdbarch;