From 0eb97953adcb12aa49e4924d1e28ce6af046d6e2 Mon Sep 17 00:00:00 2001 From: Philipp Rudo Date: Tue, 23 Jan 2018 13:37:41 +0100 Subject: [PATCH] s390: Remove duplicate checks for cached gdbarch at init 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 | 5 +++++ gdb/s390-linux-tdep.c | 9 +++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b1e9f9f..da76bbe 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-01-23 Philipp Rudo + + * 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 Sergio Durigan Junior diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c index b120d24..972b91f 100644 --- a/gdb/s390-linux-tdep.c +++ b/gdb/s390-linux-tdep.c @@ -8047,14 +8047,11 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) 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->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; -- 2.7.4