This is the mail archive of the gdb@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]

Ada support status in GDB (FSF HEAD)


Hello everyone,

I took advantage of the christmas break to try making Ada support in
the FSF tree every bit as good as AdaCore's version of GDB. There
has been quite a bit of activity in that department in the last couple
of weeks, but I can now say that I'm done for the first phase.

There are still 5 or 6 patches that need to be reviewed (and hopefully
committed :), but otherwise, support for Ada should be much more solid.
With all the patches I submitted, the debugger now passes all unthreaded
testcases in AdaCore's testsuite, except for a 6 testcases that I can't
fix without doing some prior cleanup first.

In terms of bugs that still need fixing, we know of:

  - "info exception": A command that lists the name of all exceptions
    that are declared inside your program.

  - A small problem in "info locals" that shows variables that were
    internally generated by the compiler and should appear in the
    listing. Very very minor issue.

  - A problem with handling of 64bit unsigned range type where
    the high bound is 0xff..ff. Looks like fixing it properly
    is going to hurt :-(.

Missing feature:

  - Ada tasking support. This is a layer that allows you to inspect
    Ada tasks.  For that, we really need to rewrite the ada-tasks.c
    module, but it's a lot of effort, and a bit tricky to do...

The good news is that we are now setup at AdaCore to be able to
start submitting our fixes shortly after making them in our tree.
My goal is to make AdaCore's fixes available as shortly as possible
after we make it inside our own tree.

I hope this will encourage you to play with Ada, it's a great language.

Cheers,
-- 
Joel

PS: FYI, here is the list of fixes made:
   
  - [commit/Ada] Add support for new renaming scheme
  - [commit/Ada] Add recognition of Wide_Wide_Character types
  - [commit/Ada] print ada boolean expression results as true/false
  - [commit/Ada] fix comparison between fixed point and litteral
  - [commit/Ada] Attach ada_executable_changed_observer
  - [commit/ada] Add support for Ada interface types (Ada 2005)
  - [commit/Ada] Fix assert failure when doing fixed point
    addition/substraction
  - [commit/Ada] Always print parameters passed by reference
  - [commit/Ada] Improve Ada symbol name decoding routine
  - [RFA] no frame needed when computing address of subprogram
  - [commit/Ada] fix string comparison with string slice
  - [commit/Ada] Fix 'address of array subscript
  - [RFA] Fix "set lang auto" oddity when inferior not started yet
  - [commit/ada] Fix infinite loop when printing tagged type
  - [commit/Ada] Handle new array pointer encoding better
  - [commit/ada] fix crash when printing array bound
  - [RFA/DWARF] Set TYPE_FLAG_STUB for enum DIEs that are declarations only
  - [commit/Ada] print $pc when language is Ada
  - [commit/Ada] Add handling of "ptype TYPE_NAME.FIELD0.[...].FIELDN"
  - [commit/Ada] fix ptype of class-wide object
  - [commit/Ada] Allow "{TYPE} ADDR" expression on left hand side of
    assignment
  - [commit/Ada] fix handling of references to packed array types
  - [commit/Ada] handle homonyms better
  - [commit/Ada] fix bug in printing packed tagged record
  - [RFA] Fix parameter coercion for Ada function calls
  - [commit/Ada] result of function call as a parameter to another
    function call
  - [RFA] Add handling of null Ada arrays

Still up for review:

  - [RFA/dwarf] save nested Ada subprograms as global symbol
  - [RFA] Make symbol completion language-specific
  - [RFA] new set/show multiple-choice-auto-select commands
    (actually, ball is on my side for this one)
  - [RFC/RFA] handle function homonyms in breakpoint expressions
  - [RFA] fix Ada SYMBOL_PRINT_NAME problem
  - [RFA] backtrace in mixed language applications (take 2)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]