This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Tue, Jan 18, 2000 at 12:31:56PM -0700, Kevin Buettner wrote: > On Jan 18, 10:47am, H . J . Lu wrote: > > On Tue, Jan 18, 2000 at 11:43:06AM -0700, Kevin Buettner wrote: > > > On Jan 18, 10:05am, H . J . Lu wrote: > > > > > > > I cannot get today's gdb in CVS to compile on Linux/ia32. It failed on > > > > i386-linux-nat.c: > > > > > > > > /work/gnu/import/gdb/gdb/i386-linux-nat.c: In function `supply_fpregset': > > > > /work/gnu/import/gdb/gdb/i386-linux-nat.c:215: request for member `st_space' in > > > > something not a structure or union > > > > /work/gnu/import/gdb/gdb/i386-linux-nat.c:217: request for member `cwd' in > > > > something not a structure or union > > > > /work/gnu/import/gdb/gdb/i386-linux-nat.c:218: request for member `swd' in > > > > something not a structure or union > > > > /work/gnu/import/gdb/gdb/i386-linux-nat.c:219: request for member `twd' in > > > > something not a structure or union > > > > /work/gnu/import/gdb/gdb/i386-linux-nat.c:220: request for member `fip' in > > > > > > > > Any ideas? > > > > > > It looks to me like HAVE_PTRACE_GETXFPREGS is getting defined in config.h > > > when it shouldn't be. > > > > I don't think so. > > > > # grep HAVE_PTRACE_GETXFPREGS config.h > > /* #undef HAVE_PTRACE_GETXFPREGS */ > > My mistake. I was looking at the wrong section of code. > > i386-linux-nat.c compiles okay for me. > > On my system (a RH6.0 box with few upgrades), I see the following in > <sys/procfs.h>: > > typedef elf_fpregset_t fpregset_t; > > In <sys/elf.h>, I see: > > typedef struct user_fpregs_struct elf_fpregset_t; > > And in <sys/user.h>, I see > > struct user_fpregs_struct > { > long cwd; > long swd; > long twd; > long fip; > long fcs; > long foo; > long fos; > long st_space [20]; > }; > > Is your system set up differently? > > Kevin It turned out that the bug was in the current glibc 2.1.3 in CVS. Ulrich, gregset_t and fpregset_t in <sys/ucontext.h> are different from the ones in <sys/procfs.h>. The ones in <sys/procfs.h> are used by gdb and the ptrace system call. They have different sizes and layout from the ones in <sys/ucontext.h>. -- H.J. Lu (hjl@gnu.org) --- Tue Jan 18 13:19:14 2000 H.J. Lu <hjl@gnu.org> * sysdeps/unix/sysv/linux/i386/sys/procfs.h: Undo the change on 1999-11-02 by Ulrich Drepper <drepper@cygnus.com>. Index: sysdeps/unix/sysv/linux/i386/sys/procfs.h =================================================================== RCS file: /work/cvs/gnu/glibc-2.1/sysdeps/unix/sysv/linux/i386/sys/procfs.h,v retrieving revision 1.1.1.2 diff -u -p -r1.1.1.2 procfs.h --- sysdeps/unix/sysv/linux/i386/sys/procfs.h 1999/11/27 18:42:39 1.1.1.2 +++ sysdeps/unix/sysv/linux/i386/sys/procfs.h 2000/01/18 21:31:19 @@ -27,7 +27,6 @@ #include <signal.h> #include <sys/time.h> #include <sys/types.h> -#include <sys/ucontext.h> #include <sys/user.h> #include <sys/elf.h> @@ -40,6 +39,10 @@ struct elf_siginfo int si_errno; /* Errno. */ }; +typedef elf_greg_t greg_t; +typedef elf_gregset_t gregset_t; +typedef elf_fpregset_t fpregset_t; +#define NGREG ELF_NGREG /* Definitions to generate Intel SVR4-like core files. These mostly have the same names as the SVR4 types with "elf_" tacked on the
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |