This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
mi_cmd_disassemble bug?
- From: wangjiong at sunnorth dot com dot cn
- To: gdb at sourceware dot org
- Date: Tue, 22 Jan 2008 14:39:59 +0800
- Subject: mi_cmd_disassemble bug?
Dear all:
I have found that when Eclipse call gdb to disassemble the program
from the appointed line in mixed source mode, there is some problem.
For example, if the program stopped at line 140 in main, then the
user want to see the disassembled codes mixed with C source codes, Eclipse
will
using the following command:
xxx-data-disassemble -f example.c -l 140 -n 100 -- 1
then gdb will call function mi_cmd_disassemble which will always
disassemble from the start address of the function which includes that
line.
But I think what Eclipse expect gdb to do is disassembling from
where line 140 start instead of the start address of that function.
So in GDB6.7 mi/mi-cmd-disas.c, in function mi_cmd_disassemble
Should the folloing code be modified ?
if (!find_line_pc (s, line_num, &start))
error (_("mi_cmd_disassemble: Invalid line number"));
if (find_pc_partial_function (start, NULL, &low, &high) == 0)
error (_("mi_cmd_disassemble: No function contains specified
address"));
}
gdb_disassembly (uiout,
file_string,
line_num,
mixed_source_and_assembly, how_many, low, high);
Should it be?
if (!find_line_pc (s, line_num, &start))
error (_("mi_cmd_disassemble: Invalid line number"));
}
gdb_disassembly (uiout,
file_string,
line_num,
mixed_source_and_assembly, how_many, start, high);
Wang Jiong
tel:2254