This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
RFC: ui_out type?
- From: Fernando Nasser <fnasser at redhat dot com>
- To: gdb at sources dot redhat dot com
- Date: Mon, 30 Sep 2002 17:39:16 -0400
- Subject: RFC: ui_out type?
- Organization: Red Hat , Inc. - Toronto
The old assembler code would print:
0x8048153 <foostatic>: push %ebp
0x8048154 <foostatic+1>: mov %esp,%ebp
The new one prints:
0x08048153 <foostatic+0>: push %ebp
0x08048154 <foostatic+1>: mov %esp,%ebp
Note the "+0" in <foostatic+0>
This is because the output code is shared between the CLI and MI output and the
MI output version 1 is always expecting the "offset" keyword, even if it is zero
(based on the current MI tests).
Sometimes it is necessary to test if the uiout object is of a certain class. In
this case I would like to test if it is of the "cli" type and do not generate
the offset when it is zero. Some other types it will be necessary to check if
the object is of the "mi" type, because we will need to test which version of
the MI we are generating output for.
I have filled the gdb/774 asking for a function like that.
I am currently stuck with the disassembler unification because I either break a
CLI test by having the "+0" in there (looks ugly, also), or I break some MI
tests by not having the 'offset="0"' there.
Note: The MI output keywords are supposed to be optional, so not having an
offset keyword in the output would be fine (meaning that it is a zero offset).
But the current v1 tests, which have power of spec, currently look for it
explicitly. We should remove this from the v2 tests for the cases the offset is
zero, I believe.
--
Fernando Nasser
Red Hat - Toronto E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9