Bug 11481 - gcore doesn't work on i386 without SSE
Summary: gcore doesn't work on i386 without SSE
Status: RESOLVED FIXED
Alias: None
Product: gdb
Classification: Unclassified
Component: corefiles (show other bugs)
Version: 7.1
: P2 normal
Target Milestone: 7.1
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-08 23:04 UTC by H.J. Lu
Modified: 2010-04-14 00:40 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2010-04-08 23:04:06 UTC
On Linux/i586, I got

GNU gdb (GDB) 7.1.50.20100408-cvs
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /export/home/hjl/bugs/gdb/mmx/a.out...done.
Setting up the environment for debugging gdb.
Function "internal_error" not defined.
Make breakpoint pending on future shared library load? (y or [n]) [answered N;
input not from terminal]
Function "info_command" not defined.
Make breakpoint pending on future shared library load? (y or [n]) [answered N;
input not from terminal]
/export/home/hjl/bugs/gdb/mmx/.gdbinit:8: Error in sourced command file:
Argument required (one or more breakpoint numbers).
(gdb) b main
Breakpoint 1 at 0x80483e4: file x.c, line 12.
(gdb) r
Starting program: /export/home/hjl/bugs/gdb/mmx/a.out 

Breakpoint 1, main () at x.c:12
12	  double y = foo (1.1);
(gdb) info reg all
eax            0xbffff544	-1073744572
ecx            0x18804403	411059203
edx            0x1	1
ebx            0xc8aff4	13152244
esp            0xbffff470	0xbffff470
ebp            0xbffff498	0xbffff498
esi            0x0	0
edi            0x0	0
eip            0x80483e4	0x80483e4 <main+9>
eflags         0x282	[ SF IF ]
cs             0x73	115
ss             0x7b	123
ds             0x7b	123
es             0x7b	123
fs             0x0	0
gs             0x33	51
st0            0	(raw 0x00000000000000000000)
st1            0	(raw 0x00000000000000000000)
st2            0	(raw 0x00000000000000000000)
st3            0	(raw 0x00000000000000000000)
st4            0	(raw 0x00000000000000000000)
st5            0	(raw 0x00000000000000000000)
st6            0	(raw 0x00000000000000000000)
---Type <return> to continue, or q <return> to quit---
st7            0	(raw 0x00000000000000000000)
fctrl          0x37f	895
fstat          0x0	0
ftag           0xffff	65535
fiseg          0x0	0
fioff          0x0	0
foseg          0x0	0
fooff          0x0	0
fop            0x0	0
mm0            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm1            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
---Type <return> to continue, or q <return> to quit---
mm7            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
(gdb) gcore
/export/gnu/import/git/gdb-mmx/gdb/i387-tdep.c:630: internal-error:
i387_collect_fxsave: Assertion `tdep->num_xmm_regs > 0' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y

/export/gnu/import/git/gdb-mmx/gdb/i387-tdep.c:630: internal-error:
i387_collect_fxsave: Assertion `tdep->num_xmm_regs > 0' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) n

The problem is we are trying to generate aNT_PRXFPREG note
section even if the processor doesn't support FXSAVE/SSE.
Comment 1 H.J. Lu 2010-04-13 13:01:39 UTC
A patch is posted at

http://sourceware.org/ml/gdb-patches/2010-04/msg00283.html
Comment 2 Sourceware Commits 2010-04-14 00:40:28 UTC
Subject: Bug 11481

CVSROOT:	/cvs/src
Module name:	src
Changes by:	hjl@sourceware.org	2010-04-14 00:40:14

Modified files:
	gdb            : ChangeLog 

Log message:
	Correct PR number for PR corefiles/11481.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.11611&r2=1.11612

Comment 3 H.J. Lu 2010-04-14 00:40:49 UTC
Fixed.