From ce5c899f22106926ca50c153a600b537d08970bc Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 4 Jul 2008 17:47:11 +0100 Subject: stubdom: use host's gcc This makes stubdom use the host's gcc instead of downloading/compiling binutils+gcc. That requires a bunch of changes and even uncovered a few bugs, but saves a lot of time. Signed-off-by: Samuel Thibault --- extras/mini-os/lib/ctype.c | 2 ++ extras/mini-os/lib/printf.c | 1 + extras/mini-os/lib/xmalloc.c | 4 ++-- 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'extras/mini-os/lib') diff --git a/extras/mini-os/lib/ctype.c b/extras/mini-os/lib/ctype.c index be09593914..3f3bdb00a9 100644 --- a/extras/mini-os/lib/ctype.c +++ b/extras/mini-os/lib/ctype.c @@ -1,3 +1,4 @@ +#ifndef HAVE_LIBC #include unsigned char _ctype[] = { @@ -25,3 +26,4 @@ _U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U, /* 192-207 */ _U,_U,_U,_U,_U,_U,_U,_P,_U,_U,_U,_U,_U,_U,_U,_L, /* 208-223 */ _L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L, /* 224-239 */ _L,_L,_L,_L,_L,_L,_L,_P,_L,_L,_L,_L,_L,_L,_L,_L}; /* 240-255 */ +#endif diff --git a/extras/mini-os/lib/printf.c b/extras/mini-os/lib/printf.c index a6767e48ad..a986616586 100644 --- a/extras/mini-os/lib/printf.c +++ b/extras/mini-os/lib/printf.c @@ -62,6 +62,7 @@ #include #include #include +#include /** * simple_strtoul - convert a string to an unsigned long diff --git a/extras/mini-os/lib/xmalloc.c b/extras/mini-os/lib/xmalloc.c index f73721f0dc..292b2085d0 100644 --- a/extras/mini-os/lib/xmalloc.c +++ b/extras/mini-os/lib/xmalloc.c @@ -139,7 +139,7 @@ static void *xmalloc_whole_pages(size_t size, size_t align) void *_xmalloc(size_t size, size_t align) { - struct xmalloc_hdr *i, *hdr = NULL; + struct xmalloc_hdr *i, *tmp, *hdr = NULL; uintptr_t data_begin; size_t hdr_size; /* unsigned long flags; */ @@ -155,7 +155,7 @@ void *_xmalloc(size_t size, size_t align) /* Search free list. */ /* spin_lock_irqsave(&freelist_lock, flags); */ - list_for_each_entry( i, &freelist, freelist ) + list_for_each_entry_safe( i, tmp, &freelist, freelist ) { data_begin = align_up((uintptr_t)i + hdr_size, align); -- cgit v1.2.3