aboutsummaryrefslogtreecommitdiff
path: root/sim/arm
diff options
context:
space:
mode:
Diffstat (limited to 'sim/arm')
-rw-r--r--sim/arm/ChangeLog6
-rw-r--r--sim/arm/wrapper.c21
2 files changed, 25 insertions, 2 deletions
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog
index 9ce404e..a397330 100644
--- a/sim/arm/ChangeLog
+++ b/sim/arm/ChangeLog
@@ -1,3 +1,9 @@
+2002-09-27 Andrew Cagney <ac131313@redhat.com>
+
+ * wrapper.c (sim_open): Add support for -m<mem-size>.
+ (mem_size): Reduce to 2MB.
+ Fix PR gdb/433.
+
2002-08-15 Nick Clifton <nickc@redhat.com>
* armos.c (ARMul_OSHandleSWI): Catch and ignore SWIs of -1, they
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index c8361ba..262e2e7 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -49,7 +49,7 @@ static SIM_OPEN_KIND sim_kind;
static char *myname;
/* Memory size in bytes. */
-static int mem_size = (1 << 23);
+static int mem_size = (1 << 21);
/* Non-zero to display start up banner, and maybe other things. */
static int verbosity;
@@ -632,7 +632,7 @@ sim_open (kind, ptr, abfd, argv)
{
int i;
- /* Scan for endian-ness switch. */
+ /* Scan for endian-ness and memory-size switches. */
for (i = 0; (argv[i] != NULL) && (argv[i][0] != 0); i++)
if (argv[i][0] == '-' && argv[i][1] == 'E')
{
@@ -667,6 +667,23 @@ sim_open (kind, ptr, abfd, argv)
break;
}
}
+ else if (argv[i][0] == '-' && argv[i][1] == 'm')
+ {
+ if (argv[i][2] != '\0')
+ sim_size (atoi (&argv[i][2]));
+ else if (argv[i + 1] != NULL)
+ {
+ sim_size (atoi (argv[i + 1]));
+ i++;
+ }
+ else
+ {
+ sim_callback->printf_filtered (sim_callback,
+ "Missing argument to -m option\n");
+ return NULL;
+ }
+
+ }
}
return (SIM_DESC) 1;