aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/lib
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-07-04 17:47:11 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-07-04 17:47:11 +0100
commitce5c899f22106926ca50c153a600b537d08970bc (patch)
treee23cbd3e5901a3178957ee36b22f1277832858b2 /extras/mini-os/lib
parent355b0469a8d017b80d9ce1078c90fe628c8b3bbe (diff)
downloadxen-ce5c899f22106926ca50c153a600b537d08970bc.tar.gz
xen-ce5c899f22106926ca50c153a600b537d08970bc.tar.bz2
xen-ce5c899f22106926ca50c153a600b537d08970bc.zip
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 <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/lib')
-rw-r--r--extras/mini-os/lib/ctype.c2
-rw-r--r--extras/mini-os/lib/printf.c1
-rw-r--r--extras/mini-os/lib/xmalloc.c4
3 files changed, 5 insertions, 2 deletions
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 <ctype.h>
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 <lib.h>
#include <mm.h>
#include <ctype.h>
+#include <limits.h>
/**
* 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);