diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
commit | 071ea11e85eb9d529cc5eb3d35f6247466a21b99 (patch) | |
tree | 5deda65b8d7b04d1f4cbc534c3206d328e1267ec /sim/w65/run.c | |
parent | 1730ec6b1848f0f32154277f788fb29f88d8475b (diff) | |
download | gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.zip gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.gz gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.bz2 |
Initial creation of sourceware repository
Diffstat (limited to 'sim/w65/run.c')
-rw-r--r-- | sim/w65/run.c | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/sim/w65/run.c b/sim/w65/run.c deleted file mode 100644 index 2d966ee..0000000 --- a/sim/w65/run.c +++ /dev/null @@ -1,131 +0,0 @@ -/* run front end support for W65 - Copyright (C) 1995 Free Software Foundation, Inc. - -This file is part of W65 SIM - -GNU CC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU CC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - -/* Steve Chamberlain - sac@cygnus.com */ - -#include "config.h" - -#include <stdio.h> -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif -#include "getopt.h" -#include "bfd.h" - -#ifdef NEED_DECLARATION_PRINTF -extern int printf (); -#endif - -void usage(); -extern int optind; - -int -main (ac, av) - int ac; - char **av; -{ - bfd *abfd; - bfd_vma start_address; - asection *s; - int i; - int verbose = 0; - int trace = 0; - char *name = ""; - - while ((i = getopt (ac, av, "tv")) != EOF) - switch (i) - { - case 't': - trace = 1; - break; - case 'v': - verbose = 1; - break; - default: - usage(); - } - ac -= optind; - av += optind; - - if (ac != 1) - usage(); - - name = *av; - - if (verbose) - { - printf ("run %s\n", name); - } - abfd = bfd_openr (name, "coff-w65"); - if (abfd) - { - - if (bfd_check_format (abfd, bfd_object)) - { - - for (s = abfd->sections; s; s = s->next) - { - unsigned char *buffer = malloc (bfd_section_size (abfd, s)); - bfd_get_section_contents (abfd, - s, - buffer, - 0, - bfd_section_size (abfd, s)); - sim_write (s->vma, buffer, bfd_section_size (abfd, s)); - free (buffer); - } - - start_address = bfd_get_start_address (abfd); - sim_set_pc (start_address); - if (trace) - { - int done = 0; - while (!done) - { - done = sim_trace (); - } - } - else - { - sim_resume (0, 0); - } - if (verbose) - sim_info (printf, 0); - - /* Find out what was in r0 and return that */ - { - unsigned char b[4]; - sim_fetch_register(0, b, 4); - return b[3]; - } - - } - } - - return 1; -} - -void -usage() -{ - fprintf (stderr, "usage: run [-tv] program\n"); - exit (1); -} |