On Wed, Feb 09, 2005 at 09:47:15AM +0000, Nathan Sidwell wrote:
This is a more complicated tracepoint fix. The variable tracing mechanism
does not cope with COMPUTED_LOC and ARG_COMPUTED_LOC symbols, as generated
by gcc 3.4. Expressions containing said symbols are dealt with. This
patch rearranges 'collect_symbol' and 'add_local_symbols' to deal with
such computed symbols. These are dumped as if they were expressions --
hence the breakout of the expression dumping from encode_actions.
built & tested on i686-pc-linux-gnu, and an unreleased remote
architecture. ok?
2005-02-09 Nathan Sidwell <nathan@codesourcery.com>
* tracepoint.c: #include gdb_assert.h
(collect_symbol): Take a PC and EXP, not a symbol. Adjust. Add
LOC_COMPUTED and LOC_COMPUTED_ARG cases.
(add_local_symbols): Describe the symbol with an expression,
adjust collect_symbol calls, add LOC_COMPUTED and LOC_COMPUTED_ARG
cases.
(encode_actions): Break out expression processing into ...
(add_expression): ... here. New function.
It looks sane to me, but I really can't review this; Michael, could you
take a look at it?