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.
+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>
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;