GNAT-aware beta-test version of GDB available 
Author Message
 GNAT-aware beta-test version of GDB available

I am in the process of modifying GDB to "understand" Ada programs
compiled by GNAT.  Source of the current interim version is available
via anonymous ftp from under the directory
pub/gdb.  The source distributions have names of the form


where "*" is to replaced by a version number.  Currently, the latest
version is "7", and you may expect this to change.  Binary versions
built for SunOs 4.1.3 on the Sparc are available from the same location
in files having names of the form


The source distribution contains patches to GDB 4.13 sources, which you must
already have if you wish to build the system.  I don't know how well
the current version "travels"; it has been built on Linux and under
SunOs 4.1.3.  The current version works with GNAT versions 2.05 and
2.06 (at least).

Those requiring tapes, specially-formatted distributions, or
instructions on how to modify the sources to work on their platforms
are out of luck for now, unfortunately, since I lack the resources to
make this "distribution" anything but a very-low-overhead operation.


Vanilla GDB can already handle GNAT programs, as long as you are willing
to write expressions in C syntax, use the full GNAT manglings of Ada names
(e.g., foo__bar for Foo.Bar or glorp_Oadd(x,y) for x+y), set
breakpoints on overloaded names using line numbers, deal with
expressing accesses to {*filter*} Ada data structures (such as array
parameters with non-static bounds) by using appropriate combinations of C
expressions, and so forth.  

In contrast, the GNAT-aware version of GDB

* Provides Ada syntax (well, a reasonable subset) in expressions.

* Allows use of Ada-style names (Foo.Bar), including "use-clause-style"
  abbreviations, such as Bar instead of Foo.Bar.

* Understands many Ada arrays (including Strings).  

* Allows use of user-defined operators, both in the syntax "+"(a,b)
  and a+b.

* Allows mention of overloaded function names in 'break' commands or
  expressions, attempting to do some overloading resolution and asking
  the user when it can't.


This is a preliminary "beta-test" version in an informal sense; I am
not asking for (and do not want) formal arrangements for your
acquiring or using it. It falls under the usual GNU General Public
License and warranty disclaimer.  In particular, you should be
prepared for various bugs resulting from

   1. Features so far NOT handled, notably
      * Tagged types,
      * Dynamic records (those with components that depend on discriminants
        or on non-static quantities),
      * Arrays with dynamic bounds (other than those that are
        parameters of functions, which should work),
      * Aggregates (other than strings) and allocators,
      * Several operators, notably those on arrays (e.g., catenation).
      * Named characters (such as LF).  
      * Renaming
      * Full overload resolution

   2. Limitations in available debugging information

   3. Good old-fashioned errors by yours truly.

Many of these problems (including, one hopes, #3) will be alleviated.
Some (like renaming or full overload resolution) probably not, since
their importance for normal use of the de{*filter*} seems low.

--------- ----

Please feel free to send comments or reports of errors to

will be able to respond to all reports, but I will certainly try.

Paul Hilfinger

Sat, 06 Dec 1997 03:00:00 GMT  
 [ 1 post ] 

 Relevant Pages 

1. Ada aware GDB for GNAT 3.10p WinNT version

2. Need GDB Ada aware version

3. beta test version of patch 2 to gawk 3.1 available

4. Looking for Ada aware GDB

5. Ada aware GDB 4.16+?

6. Where find ADA-aware GDB?

7. Dyalog APL for Linux - free beta version available

8. Testing Beta version of documentation control app

9. HTML Designer Version 1.04 Beta Update Available

10. PageScript 4 beta version available for download

11. PageScript 3.0 Beta version available for download

12. SIG makes BETA version of Eiffel/S 2.0 available on ftp


Powered by phpBB® Forum Software