This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
> > Could you send me the executable so that I can inspect it? > > http://people.redhat.com/jkratoch/packed_tagged/comp_bug > http://people.redhat.com/jkratoch/packed_tagged/ > (binaries from Fedora 9pre x86_64, gcc-gnat-4.3.0-7.x86_64) The binary "comp_bug" that you posted there corresponds to the "complicated testcase". I had a look, and at first glance, I think that what's missing is the parallel XVE type that is used when we have variant records (records whose contents depends on the value of a discriminant). For variant records, we ignore the size provided by the debugging info, and compute it from the information contained in the XVE type. The documentation in gcc/ada/exp_dbug.ads describe the algorithm in more details. Just to help doing the comparison, attached is the assembly file generated by our version of the compiler (this is on ia32). For the simpler example that you provided in this thread (adaff), where you have a simple null record, I'd be interested in looking at the debugging info. This is a straight record with no field inside it. The debugging info should be trivial and the debugger should be able to print your variable without any problem. -- Joel
Attachment:
comp_bug.s
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |