[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Simulavr-devel] erroneous offset in rjmp and rcall
From: |
Theodore A. Roth |
Subject: |
Re: [Simulavr-devel] erroneous offset in rjmp and rcall |
Date: |
Fri Sep 20 17:16:24 2002 |
On Fri, 20 Sep 2002, ken restivo wrote:
:)
:) FWIW, I have had the same exact problem, and I reported it on the
:) avrgcc list, because it wasn't a bug in the simulator but rather (I
:) thought) in the compiler.
:)
:) The generated assembly code had an offset that was clearly absurd, and
:) the simulator was just trying to do as it was instructed.
:)
:) http://avr.jpk.co.nz/pipermail/avr-gcc-list/2002-August/004977.html
[line wrap?] ;-)
:)
:) Anyway, I changed the optimization level in avrgcc, and the problem
:) went away. Unfortunately, I didn't have time to isolate it down to a
:) small sample program to reproduce the problem. And of course I still
:) don't. It could have been caused by a bug in my program anyway.
:)
0xfffff11e is just a 32 bit signed value displayed in hex. I doubt that it
would be very easy to have the disassemble routine (in binutils, bdf I
think) handle this properly due to the variety of flash sizes out there.
Note that bfd is used by bintuils (hence avr-objdump), gcc and gdb so your
going to see the same behaviour in all whenever you have an RJMP which
wraps around the ends of flash.
Ted Roth