63 for (; count > 0; count--, asm_lines++)
98 max_lines = (from > 0) ? from : - from;
104 memset (asm_lines, 0,
sizeof (
struct tui_asm_line) * max_lines);
110 new_low = asm_lines[max_lines - 1].
addr;
123 new_low -= 1 * max_lines;
129 new_low += 1 * max_lines;
132 last_addr = asm_lines[pos].
addr;
133 }
while (last_addr > pc && msymbol.
minsym);
145 if (pos >= max_lines)
152 if (next_addr <= last_addr)
154 last_addr = next_addr;
155 }
while (last_addr <= pc);
157 if (pos >= max_lines)
159 new_low = asm_lines[pos].
addr;
161 for (i = 0; i < max_lines; i++)
163 xfree (asm_lines[i].addr_string);
164 xfree (asm_lines[i].insn);
182 int addr_size, max_size;
194 TUI_DISASM_WIN->detail.source_info.start_line_or_addr.u.addr = pc;
203 memset (asm_lines, 0,
sizeof (
struct tui_asm_line) * max_lines);
210 for (i = 0; i < max_lines; i++)
217 len = strlen (asm_lines[i].
insn) + tab_len;
221 max_size += addr_size + tab_len;
224 line = (
char*) alloca (max_size);
225 insn_pos = (1 + (addr_size / tab_len)) * tab_len;
228 for (i = 0; i < max_lines; i++)
236 strcpy (line, asm_lines[i].addr_string);
237 cur_len = strlen (line);
241 while (cur_len < insn_pos)
247 strcat (line, asm_lines[i].insn);
250 if (strlen (line) > offset)
251 strcpy (src->
line, &line[offset]);
265 xfree (asm_lines[i].addr_string);
266 xfree (asm_lines[i].insn);
282 val.
u.
addr = start_addr;
338 if (element->
addr == 0)
345 if (main_symbol.minsym == 0)
347 if (main_symbol.minsym == 0)
349 if (main_symbol.minsym)
357 addr = element->
addr;
360 *gdbarch_p = gdbarch;
401 ? num_to_scroll : -num_to_scroll;
void tui_get_begin_asm_address(struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)
struct bound_minimal_symbol lookup_minimal_symbol_by_pc_section(CORE_ADDR pc, struct obj_section *section)
char * tui_file_get_strbuf(struct ui_file *file)
struct address_space * aspace
void print_address(struct gdbarch *, CORE_ADDR, struct ui_file *)
#define BMSYMBOL_VALUE_ADDRESS(symbol)
void ui_file_delete(struct ui_file *file)
struct tui_line_or_address line_or_addr
enum breakpoint_here breakpoint_here_p(struct address_space *aspace, CORE_ADDR pc)
void tui_set_win_focus_to(struct tui_win_info *win_info)
union tui_line_or_address::@171 u
enum tui_line_or_address_kind loa
void tui_update_locator_fullname(const char *fullname)
static CORE_ADDR tui_disassemble(struct gdbarch *gdbarch, struct tui_asm_line *asm_lines, CORE_ADDR pc, int count)
const char * symtab_to_fullname(struct symtab *s)
void tui_update_source_window(struct tui_win_info *win_info, struct gdbarch *gdbarch, struct symtab *s, struct tui_line_or_address line_or_addr, int noerror)
struct tui_locator_element locator
struct symtab_and_line find_pc_line(CORE_ADDR pc, int notcurrent)
void tui_show_disassem(struct gdbarch *gdbarch, CORE_ADDR start_addr)
void tui_vertical_disassem_scroll(enum tui_scroll_direction scroll_direction, int num_to_scroll)
struct ui_file * tui_sfileopen(int n)
int gdb_print_insn(struct gdbarch *gdbarch, CORE_ADDR memaddr, struct ui_file *stream, int *branch_delay_insns)
struct tui_win_info * tui_win_with_focus(void)
struct tui_gen_win_info * tui_locator_win_info_ptr(void)
struct gdbarch * get_current_arch(void)
void tui_add_win_to_layout(enum tui_win_type type)
union tui_which_element which_element
struct tui_win_element ** tui_win_content
int tui_default_tab_len(void)
struct minimal_symbol * minsym
struct symtab_and_line set_current_source_symtab_and_line(const struct symtab_and_line *sal)
static struct tui_win_info * win_with_focus
void ui_file_rewind(struct ui_file *file)
struct program_space * current_program_space
static CORE_ADDR tui_find_disassembly_address(struct gdbarch *gdbarch, CORE_ADDR pc, int from)
void tui_show_disassem_and_update_source(struct gdbarch *gdbarch, CORE_ADDR start_addr)
enum tui_status tui_alloc_source_buffer(struct tui_win_info *win_info)
struct symtab * find_pc_line_symtab(CORE_ADDR pc)
struct bound_minimal_symbol lookup_minimal_symbol(const char *name, const char *sfile, struct objfile *objf)
struct tui_source_element source
enum tui_status tui_set_disassem_content(struct gdbarch *gdbarch, CORE_ADDR pc)
void tui_update_source_window_as_is(struct tui_win_info *win_info, struct gdbarch *gdbarch, struct symtab *s, struct tui_line_or_address line_or_addr, int noerror)
CORE_ADDR tui_get_low_disassembly_address(struct gdbarch *gdbarch, CORE_ADDR low, CORE_ADDR pc)
const ULONGEST const LONGEST len
enum tui_layout_type tui_current_layout(void)
int tui_default_win_viewport_height(enum tui_win_type type, enum tui_layout_type layout)