diff options
author | Gary Benson <gbenson@redhat.com> | 2018-10-01 10:37:39 +0100 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2018-10-01 10:37:39 +0100 |
commit | 12b164e9a96f75ffd030d04a7633dfbb64862806 (patch) | |
tree | 49d42a7050b6a46fd5aea9abbc5d69f7c72bacf1 | |
parent | 7c619dbdae11bead6f85863b7ce25f8b8610c59d (diff) | |
download | gdb-12b164e9a96f75ffd030d04a7633dfbb64862806.zip gdb-12b164e9a96f75ffd030d04a7633dfbb64862806.tar.gz gdb-12b164e9a96f75ffd030d04a7633dfbb64862806.tar.bz2 |
Remove ancient workaround
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.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/config.in | 3 | ||||
-rwxr-xr-x | gdb/configure | 41 | ||||
-rw-r--r-- | gdb/configure.ac | 27 | ||||
-rw-r--r-- | gdb/gdb_proc_service.h | 14 | ||||
-rw-r--r-- | gdb/proc-service.c | 5 |
6 files changed, 11 insertions, 87 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ce5f826..12a04ee 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2018-10-01 Gary Benson <gbenson@redhat.com> + * 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. + +2018-10-01 Gary Benson <gbenson@redhat.com> + * common/gdb_proc_service.h: New file, factored out from... * gdb_proc_service.h: Moved common code to the above file. * Makefile.in (HFILES_NO_SRCDIR): Add the above new file. 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 <sys/procfs.h> - 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 <sys/procfs.h> - 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); |