This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: AVR - invalid address used when evaluating a variable
On Tue, 2018-06-26 at 22:01 -0400, Simon Marchi wrote:
> On 2018-06-26 16:32, Christo wrote:
> >
> > I have also tested an equivalent C program compiled with avr-gcc, with
> > gdb reading the correct
> > SRAM address for the value of i. This makes me wonder if the symbol
> > information generated by
> > Freepascal is correct?
> Looking quickly, that's what I see. The variable "i" in your program is
> described as:
>
> <1><ca>: Abbrev Number: 3 (DW_TAG_variable)
> <cb> DW_AT_name : i
> <cd> DW_AT_location : 3 byte block: 3 60 0 (DW_OP_addr: 60)
>
> In my C test program (compiled with -gdwarf-4), a global variable
> appears as:
>
> <1><5e0>: Abbrev Number: 11 (DW_TAG_variable)
> <5e1> DW_AT_name : foo
> ...
> <5ec> DW_AT_location : 5 byte block: 3 60 0 80 0
> (DW_OP_addr: 800060)
>
> So I guess Freepascal should do the same, map data addresses at
> 0x800000.
>
> Simon
Simon,
Thank you very much for your feedback. I will take this issue to the Freepascal forum.
Best regards,
Christo