avr-gcc-list
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]