From patchwork Fri Sep 28 14:50:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gary Benson X-Patchwork-Id: 29573 Received: (qmail 78428 invoked by alias); 28 Sep 2018 14:59:27 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 78418 invoked by uid 89); 28 Sep 2018 14:59:26 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 28 Sep 2018 14:59:25 +0000 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A0F49307D868 for ; Fri, 28 Sep 2018 14:50:14 +0000 (UTC) Received: from blade.nx (ovpn-117-194.ams2.redhat.com [10.36.117.194]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3E8DF101F969 for ; Fri, 28 Sep 2018 14:50:14 +0000 (UTC) Received: from blade.com (localhost [127.0.0.1]) by blade.nx (Postfix) with ESMTP id 936678173FC1 for ; Fri, 28 Sep 2018 15:50:12 +0100 (BST) From: Gary Benson To: gdb-patches@sourceware.org Subject: [PATCH 5/5][OPTIONAL] Remove ancient workaround Date: Fri, 28 Sep 2018 15:50:01 +0100 Message-Id: <1538146201-16374-6-git-send-email-gbenson@redhat.com> In-Reply-To: <1538146201-16374-1-git-send-email-gbenson@redhat.com> References: <1538146201-16374-1-git-send-email-gbenson@redhat.com> X-IsSubscribed: yes This commit removes a workaround for a bug in glibc 2.1.3, which was released 2000-02-24 and superseded 2000-11-09. gdb/ChangeLog: * gdb_proc_service.h (gdb_prfpregset_t): Remove typedef. * proc-service.c (ps_lgetfpregs, ps_lsetfpregs): Use prfpregset_t instead of gdb_prfpregset_t. * configure.ac (PRFPREGSET_T_BROKEN): Remove check. * configure, config.in: Rebuild. --- gdb/ChangeLog | 8 ++++++++ gdb/config.in | 3 --- gdb/configure | 41 ----------------------------------------- gdb/configure.ac | 27 --------------------------- gdb/gdb_proc_service.h | 14 -------------- gdb/proc-service.c | 5 +++-- 6 files changed, 11 insertions(+), 87 deletions(-) diff --git a/gdb/config.in b/gdb/config.in index fc7c859..f0d1414 100644 --- a/gdb/config.in +++ b/gdb/config.in @@ -622,9 +622,6 @@ /* Additional package description */ #undef PKGVERSION -/* Define if the prfpregset_t type is broken. */ -#undef PRFPREGSET_T_BROKEN - /* Define to 1 if the "%H, %D and %DD" formats work to print decfloats. */ #undef PRINTF_HAS_DECFLOAT diff --git a/gdb/configure b/gdb/configure index 4a725f6..b7c4ff6 100755 --- a/gdb/configure +++ b/gdb/configure @@ -14673,47 +14673,6 @@ $as_echo "#define HAVE_ELF_FPREGSET_T 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_elf_fpregset_t" >&5 $as_echo "$bfd_cv_have_sys_procfs_type_elf_fpregset_t" >&6; } - - - - if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether prfpregset_t type is broken" >&5 -$as_echo_n "checking whether prfpregset_t type is broken... " >&6; } - if ${gdb_cv_prfpregset_t_broken+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gdb_cv_prfpregset_t_broken=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int main () - { - if (sizeof (prfpregset_t) == sizeof (void *)) - return 1; - return 0; - } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gdb_cv_prfpregset_t_broken=no -else - gdb_cv_prfpregset_t_broken=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_prfpregset_t_broken" >&5 -$as_echo "$gdb_cv_prfpregset_t_broken" >&6; } - if test $gdb_cv_prfpregset_t_broken = yes; then - -$as_echo "#define PRFPREGSET_T_BROKEN 1" >>confdefs.h - - fi - fi fi # Check if the compiler supports the `long long' type. diff --git a/gdb/configure.ac b/gdb/configure.ac index a469d0a..7f6a403 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -1529,33 +1529,6 @@ if test "$ac_cv_header_sys_procfs_h" = yes; then BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t) BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t) BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t) - - dnl Check for broken prfpregset_t type - - dnl For Linux/i386, glibc 2.1.3 was released with a bogus - dnl prfpregset_t type (it's a typedef for the pointer to a struct - dnl instead of the struct itself). We detect this here, and work - dnl around it in gdb_proc_service.h. - - if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then - AC_MSG_CHECKING(whether prfpregset_t type is broken) - AC_CACHE_VAL(gdb_cv_prfpregset_t_broken, - [AC_TRY_RUN([#include - int main () - { - if (sizeof (prfpregset_t) == sizeof (void *)) - return 1; - return 0; - }], - gdb_cv_prfpregset_t_broken=no, - gdb_cv_prfpregset_t_broken=yes, - gdb_cv_prfpregset_t_broken=yes)]) - AC_MSG_RESULT($gdb_cv_prfpregset_t_broken) - if test $gdb_cv_prfpregset_t_broken = yes; then - AC_DEFINE(PRFPREGSET_T_BROKEN, 1, - [Define if the prfpregset_t type is broken.]) - fi - fi fi # Check if the compiler supports the `long long' type. diff --git a/gdb/gdb_proc_service.h b/gdb/gdb_proc_service.h index 76cc624..a968748 100644 --- a/gdb/gdb_proc_service.h +++ b/gdb/gdb_proc_service.h @@ -21,22 +21,8 @@ #include "common/gdb_proc_service.h" -#include "gregset.h" - struct thread_info; -/* Fix-up some broken systems. */ - -/* Unfortunately glibc 2.1.3 was released with a broken prfpregset_t - type. We let configure check for this lossage, and make - appropriate typedefs here. */ - -#ifdef PRFPREGSET_T_BROKEN -typedef gdb_fpregset_t gdb_prfpregset_t; -#else -typedef prfpregset_t gdb_prfpregset_t; -#endif - /* GDB specific structure that identifies the target process. */ struct ps_prochandle { diff --git a/gdb/proc-service.c b/gdb/proc-service.c index 8340f95..dde4e6c 100644 --- a/gdb/proc-service.c +++ b/gdb/proc-service.c @@ -173,7 +173,8 @@ ps_lsetregs (struct ps_prochandle *ph, lwpid_t lwpid, const prgregset_t gregset) process PH and store them in FPREGSET. */ ps_err_e -ps_lgetfpregs (struct ps_prochandle *ph, lwpid_t lwpid, gdb_prfpregset_t *fpregset) +ps_lgetfpregs (struct ps_prochandle *ph, lwpid_t lwpid, + prfpregset_t *fpregset) { struct regcache *regcache = get_ps_regcache (ph, lwpid); @@ -188,7 +189,7 @@ ps_lgetfpregs (struct ps_prochandle *ph, lwpid_t lwpid, gdb_prfpregset_t *fpregs ps_err_e ps_lsetfpregs (struct ps_prochandle *ph, lwpid_t lwpid, - const gdb_prfpregset_t *fpregset) + const prfpregset_t *fpregset) { struct regcache *regcache = get_ps_regcache (ph, lwpid);