[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-gcc-list] Strange behaviour in avr-gcc 3.3 with -O3
From: |
ken restivo |
Subject: |
[avr-gcc-list] Strange behaviour in avr-gcc 3.3 with -O3 |
Date: |
Fri, 23 Aug 2002 00:35:05 -0700 |
User-agent: |
Mutt/1.3.25i |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Now, I'm probably on the bleeding edge here, but I needed gcc 3.3 (cvs) to get
avr-libc to compile from cvs. So if the answer is, "hey, what'd you expect?",
then, well, I guess I should expect that. ;-)
Still, here's the problem.
With -O2, everything is good.
But with -O3, I get this (disassembled):
testmut = malloc(sizeof(*testmut));
ea: 85 e0 ldi r24, 0x05 ; 5
ec: 90 e0 ldi r25, 0x00 ; 0
ee: 17 d8 rcall .-4050 ; 0xfffff11e
That's a lotta ffff's! And malloc() is actually in the binary at
0000111e <malloc>:
A simple, short test program does NOT exhibit this quirk, even with -O3, but my
actual project (which is quite a bit larger) does.
This seems like it's a really simple wraparound, sign, or casting bug somewhere
in gcc, but I'm deathly afraid to peek into gcc's source to find out what could
be doing this. Anyway, if this is actually an error on my part, I'd like to
know.
- -ken
- --
- ---------------
The world's most affordable web hosting.
http://www.nearlyfreespeech.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE9ZeWne8HF+6xeOIcRAsrTAKDwAJHs75ESWt357nDln+dalDUctwCgqUbl
r+1QgqCkI223pIZsvotO7Zg=
=gsww
-----END PGP SIGNATURE-----
avr-gcc-list at http://avr1.org
- [avr-gcc-list] Strange behaviour in avr-gcc 3.3 with -O3,
ken restivo <=