This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
c/10308: gcc 3.2.2 crashes with provided code snippet with -O -fgcse or -O2
- From: jberlin at cc dot hut dot fi
- To: gcc-gnats at gcc dot gnu dot org
- Date: 4 Apr 2003 12:35:58 -0000
- Subject: c/10308: gcc 3.2.2 crashes with provided code snippet with -O -fgcse or -O2
- Reply-to: jberlin at cc dot hut dot fi
>Number: 10308
>Category: c
>Synopsis: gcc 3.2.2 crashes with provided code snippet with -O -fgcse or -O2
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: unassigned
>State: open
>Class: ice-on-illegal-code
>Submitter-Id: net
>Arrival-Date: Fri Apr 04 12:36:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Jonas Berlin
>Release: gcc-3.2.2
>Organization:
>Environment:
CFLAGS=-march=athlon-tbird -pipe -mmmx -m3dnow -momit-leaf-frame-pointer
i686-pc-linux-gnu
>Description:
I had a bug in my code, which caused gcc to crash. I tried my best at creating the smallest piece of source that still crashes gcc. I added some comments in the source indicating what I discovered during testing..
I haven't been able to reproduce the bug with valid code.
>How-To-Repeat:
Compile with
gcc -O2 -c gcc-bug.c
or
gcc -O -fgcse -c gcc-bug.c
I provided two separate code chunks that cause gcc to crash. Add -DOTHER_CASE to the compile command to test with the other chunk.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="gcc-bug.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gcc-bug.c"
LyoqCiAqIGNvbXBpbGUgd2l0aDoKICogICBnY2MgLU8yIC1jIGdjYy1idWcuYwogKiBvcgogKiAg
IGdjYyAtTyAtZmdjc2UgLWMgZ2NjLWJ1Zy5jCiAqCiAqIGFkZCAtRE9USEVSX0NBU0UgdG8gdGVz
dCB3aXRoIHRoZSBvdGhlciBjb2RlIGNodW5rLgogKi8KCnN0cnVjdCBsaXN0IHsKICAgICAgaW50
ICplbnRyaWVzOwogICAgICBpbnQgbnVtX2VudHJpZXM7Cn07CgpzdHJ1Y3QgY29udGFpbmVyIHsK
ICAgICAgLyogaWYgSSByZW1vdmUgdGhlIGZvbGxvd2luZyBkdW1teSwgZ2NjIGRvZXNuJ3QgY3Jh
c2ggKi8KICAgICAgY2hhciBkdW1teTsKICAgICAgc3RydWN0IGxpc3QgbHN0Owp9OwoKc3RhdGlj
IGlubGluZSBpbnQgc2V0X2lkeChzdHJ1Y3QgbGlzdCAqIGNvbnN0IHRoaXMsIGludCBpZHgpIHsK
ICAgLyogdHdvIGRpZmZlcmVudCBjb2RlIGNodW5rcyB0aGF0IGJvdGggYXJlIHN1ZmZpY2llbnQg
dG8gY3Jhc2gKICAgICogZ2NjLiAgKi8KI2lmbmRlZiBPVEhFUl9DQVNFCgogICAvKiB3aXRob3V0
IHRoZSAiaWYiLCBnY2MgZG9lc24ndCBjcmFzaCAqLwogICBpZih0aGlzKQogICAgICByZXR1cm4g
dGhpcy0+ZW50cmllc1tpZHhdID0gNDI7CiAgIC8qIGl0IGRvZXNuJ3QgbWF0dGVyIHdoZXRoZXIg
SSBoYXZlIGEgcmV0dXJuIGhlcmUgb3Igbm90ICovCgojZWxzZQoKICAgcmV0dXJuIHRoaXMtPm51
bV9lbnRyaWVzID8gdGhpcy0+ZW50cmllc1tpZHhdIDogMDsKCiNlbmRpZgp9Cgp2b2lkIHNvbWVm
dW5jKGludCBpZHgpIHsKICAgLyogSWYgSSB1c2UgYSBOVUxMIHBvaW50ZXIgaW5zdGVhZCwgZ2Nj
IGRvZXNuJ3QgY3Jhc2gqLwogICBzdHJ1Y3QgY29udGFpbmVyICpjb250ID0gZHVtbXkoKTsKICAg
aW50IGk7CiAgIGZvcihpID0gMDsgaSA8IGNvbnQtPmxzdC5udW1fZW50cmllczsgKytpKSB7CiAg
ICAgIC8qIFRoZSBmb2xsb3dpbmcgbGluZSBoYXMgYSBidWcuIFRoZSAiJmkiIHBhcmFtZXRlciBz
aG91bGQgYmUKICAgICAgICogImkiIGluc3RlYWQgKHNpbmNlIHRoZSBzZXRfaWR4IHRha2VzIGFu
ICJpbnQiIGFzIHNlY29uZAogICAgICAgKiBwYXJhbWV0ZXIpLiBJZiBJIGNvcnJlY3QgaXQsIGdj
YyBkb2Vzbid0IGNyYXNoICovCiAgICAgIGludCBmb28gPSBzZXRfaWR4KCZjb250LT5sc3QsICZp
KTsKCiAgICAgIC8qIGlmIEkgZG9uJ3QgdXNlICJmb28iIHR3aWNlIGhlcmUsIGdjYyBkb2Vzbid0
IGNyYXNoICovCiAgICAgIGR1bW15Mihmb28pOwogICAgICBkdW1teTIoZm9vKTsKICAgfQp9Cg==