[fpc-devel] 0020225: issue examining pointer/array/record elements with GDB

Jonas Maebe jonas.maebe at elis.ugent.be
Thu Sep 15 14:11:48 CEST 2011


On 15 Sep 2011, at 13:55, Martin wrote:

> http://bugs.freepascal.org/view.php?id=20225
>
> I did run a test on w32 vista
>
> with gdb 6.7.5  /  7.0  /  7.2.1  /  7.3.1  /  7.3.2
> with fpc 2.4.4  /  recent fixes 2.6  / recent trunk
>
> stabs
> dwarf
> dwarf3 (only trunk + gdb 7.3.2)

The DWARF3 implementation can only work in combination with a GDB  
built from the GDB archer branch currently.

> the result:
> - all combinations of gdb and fpc using stabs got the correct result.

Stabs just encodes a dynamic array as a pointer to an infinite-length  
array.

> - none were able to display it with dwarf.

DWARF2 encodes a dynamic array as an array of unknown size. DWARF3  
encodes it as an array where the size information has to be  
dynamically loaded from memory (which is only supported by the GDB  
from the Archer branch currently)

> the conclusion on the bug report appears wrong. it is not a gdb  
> version issue (unless gdb 7.2 / 7.3 on linux has fixes over the  
> window version). It is a stabs/dwarf issue

The DWARF information is correct. Maybe Anton is using a GDB on a  
Fedora-based distribution. Fedora's GDB is built from the Archer  
branch. It's possible that this fixes another bug in GDB that is also  
triggered by the DWARF2-encoding of dynamic arrays.


Jonas



More information about the fpc-devel mailing list