[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] mini-os: build fixes for lwip 1.3.2



From: David Vrabel <david.vrabel@xxxxxxxxxx>

Various fixes to mini-os needed to build lwip 1.3.2:

- Don't build the tests.
- Endianness macros #defined in arch/cc.h.
- free() is called via a function pointer so it needs to be a real
  function.

Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
---
 extras/mini-os/Makefile          |    2 +-
 extras/mini-os/README            |    2 +-
 extras/mini-os/include/arch/cc.h |    4 ++++
 extras/mini-os/include/xmalloc.h |    3 ++-
 extras/mini-os/lib/xmalloc.c     |    5 +++++
 5 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile
index 2302a23..50d038b 100644
--- a/extras/mini-os/Makefile
+++ b/extras/mini-os/Makefile
@@ -136,7 +136,7 @@ arch_lib:
 
 ifeq ($(CONFIG_LWIP),y)
 # lwIP library
-LWC    := $(shell find $(LWIPDIR)/ -type f -name '*.c')
+LWC    := $(shell find $(LWIPDIR)/src -type f -name '*.c')
 LWC    := $(filter-out %6.c %ip6_addr.c %ethernetif.c, $(LWC))
 LWO    := $(patsubst %.c,%.o,$(LWC))
 LWO    += $(OBJ_DIR)/lwip-arch.o
diff --git a/extras/mini-os/README b/extras/mini-os/README
index 41573aa..710a303 100644
--- a/extras/mini-os/README
+++ b/extras/mini-os/README
@@ -19,7 +19,7 @@ This includes:
 
 - to build it just type make.
 
-- to build it with TCP/IP support, download LWIP 1.3 source code and type
+- to build it with TCP/IP support, download LWIP 1.3.2 source code and type
 
   make LWIPDIR=/path/to/lwip/source
 
diff --git a/extras/mini-os/include/arch/cc.h b/extras/mini-os/include/arch/cc.h
index 85cfbdb..131d500 100644
--- a/extras/mini-os/include/arch/cc.h
+++ b/extras/mini-os/include/arch/cc.h
@@ -63,6 +63,10 @@ extern void lwip_die(char *fmt, ...);
 #include <endian.h>
 #endif
 
+#define BYTE_ORDER __BYTE_ORDER
+#define BIG_ENDIAN __BIG_ENDIAN
+#define LITTLE_ENDIAN __LITTLE_ENDIAN
+
 #include <inttypes.h>
 #define S16_F PRIi16
 #define U16_F PRIu16
diff --git a/extras/mini-os/include/xmalloc.h b/extras/mini-os/include/xmalloc.h
index 13b242e..bd37942 100644
--- a/extras/mini-os/include/xmalloc.h
+++ b/extras/mini-os/include/xmalloc.h
@@ -15,9 +15,10 @@
 
 #define DEFAULT_ALIGN (sizeof(unsigned long))
 #define malloc(size) _xmalloc(size, DEFAULT_ALIGN)
-#define free(ptr) xfree(ptr)
 #define realloc(ptr, size) _realloc(ptr, size)
 
+extern void free(void *ptr);
+
 /* Free any of the above. */
 extern void xfree(const void *);
 
diff --git a/extras/mini-os/lib/xmalloc.c b/extras/mini-os/lib/xmalloc.c
index 015cd31..8e5e245 100644
--- a/extras/mini-os/lib/xmalloc.c
+++ b/extras/mini-os/lib/xmalloc.c
@@ -296,6 +296,11 @@ void *_realloc(void *ptr, size_t size)
 
     return new;
 }
+
+void free(void *ptr)
+{
+    xfree(ptr);
+}
 #endif
 
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.