List Info

Thread: Ada support status in GDB (FSF HEAD)




Ada support status in GDB (FSF HEAD)
country flaguser name
United States
2008-01-11 13:39:38
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 " 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)


[1]

about | contact  Other archives ( Real Estate discussion Medical topics )