[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: [avr-gcc-list] Re: avr-gcc-4.0.0 for Win (Jurek Szczesiul)

From: Haase Bjoern (PT-BEU/EMT) *
Subject: AW: [avr-gcc-list] Re: avr-gcc-4.0.0 for Win (Jurek Szczesiul)
Date: Thu, 12 May 2005 15:44:29 +0200


I have written a second "quick and dirty patch" for the dwarf-2 problem and 
succeeded in debugging an AVR program using 4.0.0 and avr-studio 4.10 (should 
work also with 4.11) on a on a WOE-2000 box :-).

The patch as it is, is certainly not suitable for inclusion in the gcc source 
tree. I, however, now have a clear idea on how a solution of the problem should 
look like. I'll look after that it will be included in the source tree ASAP 
(got my copyright assignment yesterday).

Concerning the remaining dwarf-2 issues:

1.) Callstack information
This is not a bug, but rather a missing feature. In order to provide this 
functionality, we would need to provide a small back-end hook. This issue is 
strongly related to the "prologue/epilogue as RTL instead as text" issue that 
Andy Hutchinson is working on. Possibly this could be implemented at the same 

2.) Overflow issue for the larger devices (mega128, e.g.)
This bug stems from the fact, that the dwarf-2 tables store program memory 
addresses as "byte-adresses". Since only two bytes are allocated presently in 
the dwarf section, one will get a wrap-around as soon as the 64k boundary is 
surpassed. In order to fix this, one would have to change the dwarf-2 section 
information so, that it allocates 4 bytes for all of the label references. 
Doing this seems to be fairly easy. However, then one would have two different 
types of dwarf formats, dwarf-with-2-byte-lable-references and 
dwarf-with-4-byte-lable-references. One would get identical avr programs. 
However, I think then the dwarf-2 parser of gdb and avr-studio both would need 
to know which kind of address convention is used in a particular elf file.



Attachment: dwarf_patch2
Description: dwarf_patch2

reply via email to

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