vsscanf.o libgcc/__ashldi3.o libgcc/__udivdi3.o \
libgcc/__negdi2.o libgcc/__ashrdi3.o libgcc/__lshrdi3.o \
libgcc/__muldi3.o libgcc/__udivmoddi4.o libgcc/__umoddi3.o \
- libgcc/__divdi3.o libgcc/__moddi3.o sys/entry.o sys/exit.o \
+ libgcc/__divdi3.o libgcc/__moddi3.o \
+ sys/entry.o sys/exit.o sys/argv.o \
sys/fileinfo.o sys/opendev.o sys/read.o sys/write.o \
sys/close.o sys/open.o sys/fileread.o sys/fileclose.o \
sys/isatty.o sys/openconsole.o sys/line_input.o \
/* This is extern so it can be overridden by the user application */
extern size_t __stack_size;
+extern void *__mem_end; /* Produced after argv parsing */
static inline size_t sp(void)
{
static void __constructor init_memory_arena(void)
{
- extern char _end[]; /* Symbol created by the linker */
struct free_arena_header *fp;
size_t start, total_space;
- start = (size_t)ARENA_ALIGN_UP(_end);
+ start = (size_t)ARENA_ALIGN_UP(__mem_end);
total_space = sp() - start;
if ( __stack_size == 0 || __stack_size > total_space >> 1 )