static int symbol_file_add_from_memory_wrapper (struct ui_out *uiout, void *data) { struct symbol_file_add_from_memory_args *args = data; symbol_file_add_from_memory (args->bfd, args->sysinfo_ehdr, args->name, args->from_tty); return 0; }
static void add_vsyscall_page (struct target_ops *target, int from_tty) { struct mem_range vsyscall_range; if (gdbarch_vsyscall_range (target_gdbarch (), &vsyscall_range)) { struct bfd *bfd; if (core_bfd != NULL) bfd = core_bfd; else if (exec_bfd != NULL) bfd = exec_bfd; else /* FIXME: cagney/2004-05-06: Should not require an existing BFD when trying to create a run-time BFD of the VSYSCALL page in the inferior. Unfortunately that's the current interface so for the moment bail. Introducing a ``bfd_runtime'' (a BFD created using the loaded image) file format should fix this. */ { warning (_("Could not load vsyscall page " "because no executable was specified")); return; } char *name = xstrprintf ("system-supplied DSO at %s", paddress (target_gdbarch (), vsyscall_range.start)); TRY { /* Pass zero for FROM_TTY, because the action of loading the vsyscall DSO was not triggered by the user, even if the user typed "run" at the TTY. */ symbol_file_add_from_memory (bfd, vsyscall_range.start, vsyscall_range.length, name, 0 /* from_tty */); } CATCH (ex, RETURN_MASK_ALL) { exception_print (gdb_stderr, ex); } END_CATCH }
static void add_symbol_file_from_memory_command (char *args, int from_tty) { CORE_ADDR addr; struct bfd *templ; if (args == NULL) error (_("add-symbol-file-from-memory requires an expression argument")); addr = parse_and_eval_address (args); /* We need some representative bfd to know the target we are looking at. */ if (symfile_objfile != NULL) templ = symfile_objfile->obfd; else templ = exec_bfd; if (templ == NULL) error (_("Must use symbol-file or exec-file " "before add-symbol-file-from-memory.")); symbol_file_add_from_memory (templ, addr, 0, NULL, from_tty); }