#include "xcoffsolib.h"
-struct vmap *map_vmap PARAMS ((bfd *, bfd *));
+struct vmap *map_vmap (bfd *, bfd *);
-void (*file_changed_hook) PARAMS ((char *));
+void (*file_changed_hook) (char *);
/* Prototypes for local functions */
-static void add_to_section_table PARAMS ((bfd *, sec_ptr, PTR));
+static void add_to_section_table (bfd *, sec_ptr, PTR);
-static void exec_close PARAMS ((int));
+static void exec_close (int);
-static void file_command PARAMS ((char *, int));
+static void file_command (char *, int);
-static void set_section_command PARAMS ((char *, int));
+static void set_section_command (char *, int);
-static void exec_files_info PARAMS ((struct target_ops *));
+static void exec_files_info (struct target_ops *);
-static void bfdsec_to_vmap PARAMS ((bfd *, sec_ptr, PTR));
+static void bfdsec_to_vmap (bfd *, sec_ptr, PTR);
-static int ignore PARAMS ((CORE_ADDR, char *));
+static int ignore (CORE_ADDR, char *);
-static void init_exec_ops PARAMS ((void));
+static void init_exec_ops (void);
-void _initialize_exec PARAMS ((void));
+void _initialize_exec (void);
extern int info_verbose;
/* ARGSUSED */
static void
-exec_close (quitting)
- int quitting;
+exec_close (int quitting)
{
int need_symtab_cleanup = 0;
struct vmap *vp, *nxt;
we're supplying the exec pathname late for good reason.) */
void
-exec_file_attach (args, from_tty)
- char *args;
- int from_tty;
+exec_file_attach (char *args, int from_tty)
{
char **argv;
char *filename;
{;
}
if (*argv == NULL)
- error ("no exec file name was specified");
+ error ("No executable file name was specified");
filename = tilde_expand (*argv);
make_cleanup (free, filename);
scratch_chan = openp (getenv ("PATH"), 1, filename,
write_files ? O_RDWR | O_BINARY : O_RDONLY | O_BINARY, 0,
&scratch_pathname);
-#if defined(__GO32__) || defined(_WIN32)
+#if defined(__GO32__) || defined(_WIN32) || defined(__CYGWIN__)
if (scratch_chan < 0)
{
char *exename = alloca (strlen (filename) + 5);
same malloc'd string. However exec_close() will attempt to free it
via the exec_bfd->name pointer, so we need to make another copy and
leave exec_bfd as the new owner of the original copy. */
- scratch_pathname = strdup (scratch_pathname);
+ scratch_pathname = xstrdup (scratch_pathname);
make_cleanup (free, scratch_pathname);
if (!bfd_check_format (exec_bfd, bfd_object))
which can take multiple args. */
void
-exec_file_command (args, from_tty)
- char *args;
- int from_tty;
+exec_file_command (char *args, int from_tty)
{
- char **argv;
- char *filename;
-
target_preopen (from_tty);
-
exec_file_attach (args, from_tty);
}
command was added? */
static void
-file_command (arg, from_tty)
- char *arg;
- int from_tty;
+file_command (char *arg, int from_tty)
{
/* FIXME, if we lose on reading the symbol file, we should revert
the exec file, but that's rough. */
we cast it back to its proper type. */
static void
-add_to_section_table (abfd, asect, table_pp_char)
- bfd *abfd;
- sec_ptr asect;
- PTR table_pp_char;
+add_to_section_table (bfd *abfd, sec_ptr asect, PTR table_pp_char)
{
struct section_table **table_pp = (struct section_table **) table_pp_char;
flagword aflag;
Returns 0 if OK, 1 on error. */
int
-build_section_table (some_bfd, start, end)
- bfd *some_bfd;
- struct section_table **start, **end;
+build_section_table (bfd *some_bfd, struct section_table **start,
+ struct section_table **end)
{
unsigned count;
}
\f
static void
-bfdsec_to_vmap (abfd, sect, arg3)
- bfd *abfd;
- sec_ptr sect;
- PTR arg3;
+bfdsec_to_vmap (bfd *abfd, sec_ptr sect, PTR arg3)
{
struct vmap_and_bfd *vmap_bfd = (struct vmap_and_bfd *) arg3;
struct vmap *vp;
Return the new vmap. */
struct vmap *
-map_vmap (abfd, arch)
- bfd *abfd;
- bfd *arch;
+map_vmap (bfd *abfd, bfd *arch)
{
struct vmap_and_bfd vmap_bfd;
struct vmap *vp, **vpp;
we just tail-call it with more arguments to select between them. */
int
-xfer_memory (memaddr, myaddr, len, write, target)
- CORE_ADDR memaddr;
- char *myaddr;
- int len;
- int write;
- struct target_ops *target;
+xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
+ struct target_ops *target)
{
boolean res;
struct section_table *p;
CORE_ADDR nextsectaddr, memend;
- boolean (*xfer_fn) PARAMS ((bfd *, sec_ptr, PTR, file_ptr, bfd_size_type));
+ boolean (*xfer_fn) (bfd *, sec_ptr, PTR, file_ptr, bfd_size_type);
asection *section;
if (len <= 0)
xfer_fn = write ? bfd_set_section_contents : bfd_get_section_contents;
nextsectaddr = memend;
-#if 0 /* Stu's implementation */
-/* If a section has been specified, try to use it. Note that we cannot use the
- specified section directly. This is because it usually comes from the
- symbol file, which may be different from the exec or core file. Instead, we
- have to lookup the specified section by name in the bfd associated with
- to_sections. */
-
- if (target_memory_bfd_section)
- {
- asection *s;
- bfd *abfd;
- asection *target_section;
- bfd *target_bfd;
-
- s = target_memory_bfd_section;
- abfd = s->owner;
-
- target_bfd = target->to_sections->bfd;
- target_section = bfd_get_section_by_name (target_bfd, bfd_section_name (abfd, s));
-
- if (target_section)
- {
- bfd_vma sec_addr;
- bfd_size_type sec_size;
-
- sec_addr = bfd_section_vma (target_bfd, target_section);
- sec_size = target_section->_raw_size;
-
- /* Make sure the requested memory starts inside the section. */
-
- if (memaddr >= sec_addr
- && memaddr < sec_addr + sec_size)
- {
- /* Cut back length in case request overflows the end of the section. */
- len = min (len, sec_addr + sec_size - memaddr);
-
- res = xfer_fn (target_bfd, target_section, myaddr, memaddr - sec_addr, len);
-
- return res ? len : 0;
- }
- }
- }
-#endif /* 0, Stu's implementation */
for (p = target->to_sections; p < target->to_sections_end; p++)
{
if (overlay_debugging && section && p->the_bfd_section &&
\f
void
-print_section_info (t, abfd)
- struct target_ops *t;
- bfd *abfd;
+print_section_info (struct target_ops *t, bfd *abfd)
{
struct section_table *p;
}
static void
-exec_files_info (t)
- struct target_ops *t;
+exec_files_info (struct target_ops *t)
{
print_section_info (t, exec_bfd);
struct vmap *vp;
printf_unfiltered ("\tMapping info for file `%s'.\n", vmap->name);
- printf_unfiltered ("\t %8.8s %8.8s %8.8s %8.8s %8.8s %s\n",
- "tstart", "tend", "dstart", "dend", "section",
+ printf_unfiltered ("\t %*s %*s %*s %*s %8.8s %s\n",
+ strlen_paddr (), "tstart",
+ strlen_paddr (), "tend",
+ strlen_paddr (), "dstart",
+ strlen_paddr (), "dend",
+ "section",
"file(member)");
for (vp = vmap; vp; vp = vp->nxt)
- printf_unfiltered ("\t0x%8.8x 0x%8.8x 0x%8.8x 0x%8.8x %s%s%s%s\n",
- vp->tstart, vp->tend, vp->dstart, vp->dend, vp->name,
+ printf_unfiltered ("\t0x%s 0x%s 0x%s 0x%s %s%s%s%s\n",
+ paddr (vp->tstart),
+ paddr (vp->tend),
+ paddr (vp->dstart),
+ paddr (vp->dend),
+ vp->name,
*vp->member ? "(" : "", vp->member,
*vp->member ? ")" : "");
}
in the exec objfile. */
void
-exec_set_section_offsets (text_off, data_off, bss_off)
- bfd_signed_vma text_off;
- bfd_signed_vma data_off;
- bfd_signed_vma bss_off;
+exec_set_section_offsets (bfd_signed_vma text_off, bfd_signed_vma data_off,
+ bfd_signed_vma bss_off)
{
struct section_table *sect;
}
static void
-set_section_command (args, from_tty)
- char *args;
- int from_tty;
+set_section_command (char *args, int from_tty)
{
struct section_table *p;
char *secname;
breakpoint_init_inferior). */
static int
-ignore (addr, contents)
- CORE_ADDR addr;
- char *contents;
+ignore (CORE_ADDR addr, char *contents)
{
return 0;
}
defined. */
void
-init_exec_ops ()
+init_exec_ops (void)
{
exec_ops.to_shortname = "exec";
exec_ops.to_longname = "Local exec file";
}
void
-_initialize_exec ()
+_initialize_exec (void)
{
struct cmd_list_element *c;