+
+static void putstr(const char *);
+
-+extern int end;
-+static long free_mem_ptr = (long)&end;
++extern int _end;
++static long free_mem_ptr = (long)&_end;
+static long free_mem_end_ptr;
+
+#define INPLACE_MOVE_ROUTINE 0x1000
+#define HEAP_SIZE 0x3000
+static unsigned int low_buffer_end, low_buffer_size;
+static int high_loaded =0;
-+static uch *high_buffer_start /* = (uch *)(((ulg)&end) + HEAP_SIZE)*/;
++static uch *high_buffer_start /* = (uch *)(((ulg)&_end) + HEAP_SIZE)*/;
+
+static char *vidmem = (char *)0xb8000;
+static int vidport;
+
+static void setup_output_buffer_if_we_run_high(struct moveparams *mv)
+{
-+ high_buffer_start = (uch *)(((ulg)&end) + HEAP_SIZE);
++ high_buffer_start = (uch *)(((ulg)&_end) + HEAP_SIZE);
+#ifdef STANDARD_MEMORY_BIOS_CALL
+ if (RM_EXT_MEM_K < (3*1024)) error("Less than 4MB of memory");
+#else