aboutsummaryrefslogtreecommitdiff
path: root/sim/mcore
diff options
context:
space:
mode:
Diffstat (limited to 'sim/mcore')
-rw-r--r--sim/mcore/ChangeLog6
-rw-r--r--sim/mcore/interp.c42
2 files changed, 9 insertions, 39 deletions
diff --git a/sim/mcore/ChangeLog b/sim/mcore/ChangeLog
index c309a05..f6089c8 100644
--- a/sim/mcore/ChangeLog
+++ b/sim/mcore/ChangeLog
@@ -1,3 +1,9 @@
+2015-03-29 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (heap_ptr, int_sbrk): Delete.
+ (handle_trap1): Change case 69 (sbrk) to always return -1.
+ (sim_load): Delete bss checks and heap_ptr setup.
+
2015-03-16 Mike Frysinger <vapier@gentoo.org>
* interp.c: Strip trailing whitespace.
diff --git a/sim/mcore/interp.c b/sim/mcore/interp.c
index 4eb1a59..b06bd1f 100644
--- a/sim/mcore/interp.c
+++ b/sim/mcore/interp.c
@@ -38,7 +38,6 @@ typedef long int word;
typedef unsigned long int uword;
static int target_big_endian = 0;
-static unsigned long heap_ptr = 0;
host_callback * callback;
@@ -174,21 +173,6 @@ static int issue_messages = 0;
#define PARM4 5
#define RET1 2 /* register for return values. */
-static long
-int_sbrk (int inc_bytes)
-{
- long addr;
-
- addr = heap_ptr;
-
- heap_ptr += inc_bytes;
-
- if (issue_messages && heap_ptr>cpu.gr[0])
- fprintf (stderr, "Warning: heap_ptr overlaps stack!\n");
-
- return addr;
-}
-
static void
wbat (word x, word v)
{
@@ -588,8 +572,10 @@ handle_trap1 (void)
break;
case 69:
+ /* Historically this was sbrk(), but no one used it, and the
+ implementation didn't actually work, so it's a stub now. */
a[0] = (unsigned long) (cpu.gr[PARM1]);
- cpu.gr[RET1] = int_sbrk (a[0]);
+ cpu.gr[RET1] = -1;
break;
default:
@@ -1871,7 +1857,6 @@ sim_load (SIM_DESC sd, const char *prog, bfd *abfd, int from_tty)
{
bfd * handle;
- asection * s_bss;
handle = bfd_openr (prog, 0); /* could be "mcore" */
if (!handle)
@@ -1890,27 +1875,6 @@ sim_load (SIM_DESC sd, const char *prog, bfd *abfd, int from_tty)
return SIM_RC_FAIL;
}
- /* Look for that bss section. */
- s_bss = bfd_get_section_by_name (handle, ".bss");
-
- if (!s_bss)
- {
- printf("``%s'' has no bss section.\n", prog);
- return SIM_RC_FAIL;
- }
-
- /* Appropriately paranoid would check that we have
- a traditional text/data/bss ordering within memory. */
-
- /* figure the end of the bss section */
-#if 0
- printf ("bss section at 0x%08x for 0x%08x bytes\n",
- (unsigned long) bfd_get_section_vma (handle, s_bss),
- (unsigned long) bfd_section_size (handle, s_bss));
-#endif
- heap_ptr = ((unsigned long) bfd_get_section_vma (handle, s_bss)
- + (unsigned long) bfd_section_size (handle, s_bss));
-
/* Clean up after ourselves. */
bfd_close (handle);