symtab/1939: gdb coredumps on -O1 compiled binary on x86_64

tigran@veritas.com tigran@veritas.com
Fri May 6 16:08:00 GMT 2005


>Number:         1939
>Category:       symtab
>Synopsis:       gdb coredumps on -O1 compiled binary on x86_64
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May 06 16:08:01 UTC 2005
>Closed-Date:
>Last-Modified:
>Originator:     tigran@veritas.com
>Release:        6.3.50.20050506-cvs
>Organization:
>Environment:
SLES9 x86_64
>Description:
gdb coredumps on a simple test program (attached) when
it is compiled with -O1. Running gdb on the core file
shows the offending code to be in gdb/dwarf2loc.c:dwarf_expr_frame_base() function:

*length = symbaton->size;

Now, if the program is compiled with -O0 then everything
is fine. But if the program is compiled with -O2 then
some function arguments on the backtrace are shown
as "optimized away", which is understandable, but the
argument x9 passed to the top-level function kt_func3
is shown incorrectly. But I doubt this has anything to
do with the coredump I am reporting. Just a different bug.
>How-To-Repeat:
$ gcc -g -Wall uvar.c -O1 -o uvar
$ gdb uvar
(gdb) b kt_func3
(gdb) r
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="uvar.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="uvar.c"

I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3Qga3Rfc3RydWN0IHsKCWludCBrdF9maWVsZDE7Cglp
bnQga3RfZmllbGQyOwoJY2hhciBrdF9uYW1lWzE2XTsKfSBrdF92YXI7CgppbnQga3RfZnVuYzMo
aW50IHgxLCBpbnQgeDIsIGludCB4MywgaW50IHg0LCBpbnQgeDUsIGludCB4NiwgaW50IHg3LCBp
bnQgeDgsIGludCB4OSkKewoJcmV0dXJuICh4MSArIHgyICsgeDMvMiArIHg0LzQgKyB4NS81ICsg
eDYvNiArIHg3LzcgKyB4OC84ICsgeDkvOSk7CQp9CgppbnQga3RfZnVuYzIoaW50IHgxLCBpbnQg
eDIsIGludCB4MywgaW50IHg0LCBpbnQgeDUsIGludCB4NiwgaW50IHg3LCBpbnQgeDgsIGludCB4
OSkKewoJcmV0dXJuIGt0X2Z1bmMzKHgxICsgMHgxMSwgeDIgKyAweDExLCB4MyArIDB4MTEsIHg0
ICsgMHgxMSwgeDUgKyAweDExLCB4NiArIDB4MTEsCgkJCXg3ICsgMHgxMSwgeDggKyAweDExLCB4
OSArIDB4MTEpOwp9CgppbnQga3RfZnVuYzEoaW50IHgxLCBpbnQgeDIsIGludCB4MywgaW50IHg0
LCBpbnQgeDUsIGludCB4NiwgaW50IHg3LCBpbnQgeDgsIGludCB4OSkKewoJcmV0dXJuIGt0X2Z1
bmMyKHgxICsgMHgxMSwgeDIgKyAweDExLCB4MyArIDB4MTEsIHg0ICsgMHgxMSwgeDUgKyAweDEx
LCB4NiArIDB4MTEsCgkJCXg3ICsgMHgxMSwgeDggKyAweDExLCB4OSArIDB4MTEpOwp9CgppbnQg
bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQp7CglpbnQgeDsKCWt0X3Zhci5rdF9maWVsZDEg
PSAweEFBOwoJeCA9IGt0X2Z1bmMxKDB4MTExMTExMTEsIDB4MjIyMjIyMjIsIDB4MzMzMzMzMzMs
IDB4NDQ0NDQ0NDQsIDB4NTU1NTU1NTUsIDB4NjY2NjY2NjYsCgkJICAgICAweDc3Nzc3Nzc3LCAw
eDg4ODg4ODg4LCAweDk5OTk5OTk5KTsKCXByaW50Zigia3RfZXhpdCgpIHg9JXhcbiIsIHgpOwoJ
a3RfdmFyLmt0X2ZpZWxkMSA9IDB4QkI7CglyZXR1cm4gMDsKfQo=



More information about the Gdb-prs mailing list