public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: Peter.Barada@motorola.com
To: gcc-gnats@gcc.gnu.org
Subject: target/8309: m68k-elf-gcc -m5200 produces erroneous SImode set of short varaible on stack
Date: Tue, 22 Oct 2002 11:46:00 -0000	[thread overview]
Message-ID: <20021022183601.17229.qmail@sources.redhat.com> (raw)


>Number:         8309
>Category:       target
>Synopsis:       m68k-elf-gcc -m5200 produces erroneous SImode set of short varaible on stack
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 22 11:46:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Peter Barada
>Release:        gcc-3.2
>Organization:
>Environment:
--target=m68k-elf
>Description:
Compile the attached test files with:
m68k-elf-gcc -O2 -fno-common  -ffixed-a2 -m5200 -S -o yy.s yy.c -dp -da

And in the ouptut of yy.c.21.greg, you'll find:
(insn 492 283 284 (set (reg:SI 1 %d1)
        (const_int 1 [0x1])) 30 {*m68k.md:993} (nil)
    (nil))

(insn 284 492 285 (set (mem:SI (plus:SI (reg/f:SI 14 %a6)
                (const_int -40 [0xffffffd8])) [26 rotate S4 A16])
        (plus:SI (mem:SI (plus:SI (reg/f:SI 14 %a6)
                    (const_int -40 [0xffffffd8])) [26 rotate S4 A16])
            (reg:SI 1 %d1))) 99 {*addsi3_5200} (nil)
    (nil))

But the 'rotate' variable is a *short*, so the 'set(mem:SI' will overwrite the
adjacent variable on the stack.  In fact the statement *increments*
the 'fs' varaible which is at offset -38 from the frame...
>How-To-Repeat:
m68k-elf-gcc -O2 -fno-common  -ffixed-a2 -m5200 -S -o yy.s yy.c -dp -da
>Fix:

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

Cgp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IF9fa2VybmVsX21vZGVfdDsKdHlwZWRlZiB1bnNpZ25l
ZCBpbnQgX19rZXJuZWxfc2l6ZV90Owp0eXBlZGVmIGludCBfX2tlcm5lbF9zc2l6ZV90Owp0eXBl
ZGVmIGxvbmcgbG9uZyBfX2tlcm5lbF9sb2ZmX3Q7Cgp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHVt
b2RlX3Q7CgoKdHlwZWRlZiBfX2tlcm5lbF9tb2RlX3QgbW9kZV90Owp0eXBlZGVmIF9fa2VybmVs
X2xvZmZfdCBsb2ZmX3Q7Cgp0eXBlZGVmIF9fa2VybmVsX3NpemVfdCBzaXplX3Q7CnR5cGVkZWYg
X19rZXJuZWxfc3NpemVfdCBzc2l6ZV90OwoKdHlwZWRlZiBzaG9ydCBpbnQgbW1fc2VnbWVudF90
OwoKc3RydWN0IHRocmVhZF9zdHJ1Y3QgewogICAgICAgIHVuc2lnbmVkIGxvbmcga3NwOwogICAg
ICAgIHVuc2lnbmVkIGxvbmcgdXNwOwogICAgICAgIHVuc2lnbmVkIHNob3J0IHNyOwogICAgICAg
IHVuc2lnbmVkIHNob3J0IGZzOwogICAgICAgIHVuc2lnbmVkIGxvbmcgY3JwWzJdOwogICAgICAg
IHVuc2lnbmVkIGxvbmcgZXNwMDsKICAgICAgICB1bnNpZ25lZCBsb25nIGZhZGRyOwogICAgICAg
IGludCBzaWdubywgY29kZTsKICAgICAgICB1bnNpZ25lZCBsb25nIGZwWzgqM107CiAgICAgICAg
dW5zaWduZWQgbG9uZyBmcGNudGxbM107CiAgICAgICAgdW5zaWduZWQgY2hhciBmcHN0YXRlWyg5
Ni9zaXplb2YodW5zaWduZWQgY2hhcikpXTsKfTsKCnN0cnVjdCBmaWxlOwpzdHJ1Y3QgaW5vZGU7
Cgp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGtkZXZfdDsKCnN0YXRpYyBpbmxpbmUgdW5zaWduZWQg
aW50IGtkZXZfdF90b19ucihrZGV2X3QgZGV2KSB7CiAgICAgICAgcmV0dXJuICgoKHVuc2lnbmVk
IGludCkgKChkZXYpID4+IDgpKTw8OCkgfCAoKHVuc2lnbmVkIGludCkgKChkZXYpICYgKCgxVSA8
PCA4KSAtIDEpKSk7Cn0Kc3RhdGljIGlubGluZSBrZGV2X3QgdG9fa2Rldl90KGludCBkZXYpCnsK
ICAgICAgICBpbnQgbWFqb3IsIG1pbm9yOwogICAgICAgIG1ham9yID0gKGRldiA+PiA4KTsKICAg
ICAgICBtaW5vciA9IChkZXYgJiAweGZmKTsKICAgICAgICByZXR1cm4gKCgobWFqb3IpIDw8IDgp
IHwgKG1pbm9yKSk7Cn0KCnN0cnVjdCBmaWxlIHsKICAgICAgICBzdHJ1Y3QgZGVudHJ5ICpmX2Rl
bnRyeTsKICAgICAgICBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpmX29wOwogICAgICAgIGxvZmZf
dCBmX3BvczsKfTsKCnN0cnVjdCBmaWxlX29wZXJhdGlvbnMgewogICAgICAgIHNzaXplX3QgKCpy
ZWFkKSAoc3RydWN0IGZpbGUgKiwgY2hhciAqLCBzaXplX3QsIGxvZmZfdCAqKTsKICAgICAgICBz
c2l6ZV90ICgqd3JpdGUpIChzdHJ1Y3QgZmlsZSAqLCBjb25zdCBjaGFyICosIHNpemVfdCwgbG9m
Zl90ICopOwogICAgICAgIGludCAoKnJlbGVhc2UpIChzdHJ1Y3QgaW5vZGUgKiwgc3RydWN0IGZp
bGUgKik7Cn07CgppbnQgcHJpbnRrKGNvbnN0IGNoYXIgKiBmbXQsIC4uLikKICAgICBfX2F0dHJp
YnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CgpleHRlcm4gaW50IGJsa2Rldl9vcGVu
KHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgZmlsZSAqKTsKZXh0ZXJuIGludCBibGtkZXZfY2xvc2Uo
c3RydWN0IGlub2RlICosIHN0cnVjdCBmaWxlICopOwoKZXh0ZXJuIHN0cnVjdCBmaWxlX29wZXJh
dGlvbnMgZGVmX2Jsa19mb3BzOwpleHRlcm4gdm9pZCBpbml0X3NwZWNpYWxfaW5vZGUoc3RydWN0
IGlub2RlICosIHVtb2RlX3QsIGludCk7CgpleHRlcm4gdm9pZCBpcHV0KHN0cnVjdCBpbm9kZSAq
KTsKZXh0ZXJuIHN0cnVjdCBpbm9kZSAqIGdldF9lbXB0eV9pbm9kZSh2b2lkKTsKCmV4dGVybiBr
ZGV2X3QgUk9PVF9ERVY7CmV4dGVybiBjaGFyIHJvb3RfZGV2aWNlX25hbWVbXTsKZXh0ZXJuIGlu
dCByZWFsX3Jvb3RfZGV2OwoKc3RydWN0IHRhc2tfc3RydWN0IHsKICAgICAgICBzdHJ1Y3QgdGhy
ZWFkX3N0cnVjdCB0aHJlYWQ7Cn07CgpyZWdpc3RlciBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnJl
bnQgX19hc21fXygiJWEyIik7CmV4dGVybiB2b2lkICprbWFsbG9jKHNpemVfdCwgaW50KTsKZXh0
ZXJuIHZvaWQga2ZyZWUoY29uc3Qgdm9pZCAqKTsKCgp2b2lkIF9fYXR0cmlidXRlX18gKChfX3Nl
Y3Rpb25fXyAoIi50ZXh0LmluaXQiKSkpIHJkX2xvYWRfaW1hZ2Uoa2Rldl90IGRldmljZSwgaW50
IG9mZnNldCwgaW50IHVuaXQpCnsKICBzdHJ1Y3QgaW5vZGUgKmlub2RlLCAqb3V0X2lub2RlOwog
IHN0cnVjdCBmaWxlIGluZmlsZSwgb3V0ZmlsZTsKICBtbV9zZWdtZW50X3QgZnM7CiAga2Rldl90
IHJhbV9kZXZpY2U7CiAgaW50IG5ibG9ja3MsIGk7CiAgY2hhciAqYnVmOwogIHVuc2lnbmVkIHNo
b3J0IHJvdGF0ZSA9IDA7CiAgdW5zaWduZWQgc2hvcnQgZGV2YmxvY2tzID0gMDsKICBjaGFyIHJv
dGF0b3JbNF0gPSB7ICd8JyAsICcvJyAsICctJyAsICdcXCcgfTsKICByYW1fZGV2aWNlID0gKCgo
MSkgPDwgOCkgfCAodW5pdCkpOwoKICBpZiAoKGlub2RlID0gZ2V0X2VtcHR5X2lub2RlKCkpID09
ICgodm9pZCAqKTApKQogICAgcmV0dXJuOwoKICBtZW1zZXQoKCZpbmZpbGUpLCgwKSwoc2l6ZW9m
KGluZmlsZSkpKTsKICBpbmZpbGUuZl9vcCA9ICZkZWZfYmxrX2ZvcHM7CiAgaW5pdF9zcGVjaWFs
X2lub2RlKGlub2RlLCAwMDYwMDAwIHwgMDA0MDAsIGtkZXZfdF90b19ucihkZXZpY2UpKTsKICBp
ZiAoKG91dF9pbm9kZSA9IGdldF9lbXB0eV9pbm9kZSgpKSA9PSAoKHZvaWQgKikwKSkKICAgIGdv
dG8gZnJlZV9pbm9kZTsKICBtZW1zZXQoKCZvdXRmaWxlKSwoMCksKHNpemVvZihvdXRmaWxlKSkp
OwogIG91dGZpbGUuZl9vcCA9ICZkZWZfYmxrX2ZvcHM7CiAgaW5pdF9zcGVjaWFsX2lub2RlKG91
dF9pbm9kZSwgMDA2MDYwMCwga2Rldl90X3RvX25yKHJhbV9kZXZpY2UpKTsKICBpZiAoYmxrZGV2
X29wZW4oaW5vZGUsICZpbmZpbGUpICE9IDApIHsKICAgIGdvdG8gZnJlZV9pbm9kZTsKICB9CiAg
aWYgKGJsa2Rldl9vcGVuKG91dF9pbm9kZSwgJm91dGZpbGUpICE9IDApCiAgICBnb3RvIGZyZWVf
aW5vZGVzOwogIGZzID0gKGN1cnJlbnQtPnRocmVhZC5mcyk7CiAgbmJsb2NrcyA9IGlkZW50aWZ5
X3JhbWRpc2tfaW1hZ2UoZGV2aWNlLCAmaW5maWxlLCBvZmZzZXQpOwoKI2lmIDAKICBidWYgPSBr
bWFsbG9jKCgxPDwxMCksICgweDIwIHwgMHgxMCB8IDB4NDAgfCAweDgwIHwgMHgxMDApKTsKI2Vu
ZGlmCiAgZGV2YmxvY2tzID0gbmJsb2NrczsKICBmb3IgKGk9MDsgaSA8IG5ibG9ja3M7IGkrKykg
ewogICAgaWYgKGkgJiYgKGkgJSBkZXZibG9ja3MgPT0gMCkpIHsKICAgICAgcm90YXRlID0gMDsK
ICAgICAgaW5maWxlLmZfcG9zID0gMDsKICAgIH0KICAgIGlmICghKGkgJSAxNikpIHsKICAgICAg
cHJpbnRrKCIlY1xiIiwgcm90YXRvcltyb3RhdGUgJiAweDNdKTsKICAgICAgcm90YXRlKys7CiAg
ICB9CiAgfQogIFJPT1RfREVWID0gKCgoMSkgPDwgOCkgfCAodW5pdCkpOwoKICBpbmZpbGUuZl9v
cC0+cmVsZWFzZShpbm9kZSwgJmluZmlsZSk7CiAgYmxrZGV2X2Nsb3NlKG91dF9pbm9kZSwgJm91
dGZpbGUpOwogIGlwdXQoaW5vZGUpOwogIGlwdXQob3V0X2lub2RlKTsKICAoY3VycmVudC0+dGhy
ZWFkLmZzID0gKGZzKSk7CiAgcmV0dXJuOwogZnJlZV9pbm9kZXM6CiAgaXB1dChvdXRfaW5vZGUp
OwogIGluZmlsZS5mX29wLT5yZWxlYXNlKGlub2RlLCAmaW5maWxlKTsKIGZyZWVfaW5vZGU6CiAg
aXB1dChpbm9kZSk7Cn0K


             reply	other threads:[~2002-10-22 18:46 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-22 11:46 Peter.Barada [this message]
2002-10-29 15:56 target/8309:m68k-elf-gcc " Peter Barada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021022183601.17229.qmail@sources.redhat.com \
    --to=peter.barada@motorola.com \
    --cc=gcc-gnats@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).