]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/mini-os.git/commitdiff
mini-os: build fixes for lwip 1.3.2
authorDavid Vrabel <david.vrabel@citrix.com>
Wed, 30 Jan 2013 10:38:37 +0000 (02:38 -0800)
committerDavid Vrabel <david.vrabel@citrix.com>
Wed, 30 Jan 2013 10:38:37 +0000 (02:38 -0800)
Various fixes to mini-os needed to build lwip 1.3.2:

- Don't build the tests.
- Add BSD-style endianness macros to endian.h.
- free() is called via a function pointer so it needs to be a real
  function.  Do the same for malloc() and realloc().

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Committed-by: Keir Fraser <keir@xen.org>
Makefile
README
include/endian.h
include/xmalloc.h
lib/xmalloc.c

index 2302a2316dadb04da0b690edb336edb6a54ec117..50d038b8a55843f6a65dc3e355f927bc5a144861 100644 (file)
--- a/Makefile
+++ b/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/README b/README
index 41573aa9eb248ba8e28ca3fb6ef33bfa35dd3e68..710a303d7adbf010c8aa2d14c51b3e4af3d573c3 100644 (file)
--- a/README
+++ b/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
 
index cdf432bc4378726c20e488773babde2e3a00a37e..534551767aa7cae3973ec72d7d6ea868d5725cdb 100644 (file)
@@ -12,4 +12,8 @@
 
 #include <arch_wordsize.h>
 
+#define BYTE_ORDER __BYTE_ORDER
+#define BIG_ENDIAN __BIG_ENDIAN
+#define LITTLE_ENDIAN __LITTLE_ENDIAN
+
 #endif /* endian.h */
index 13b242e21e36bf5763c13b284bf29e896e47fa1d..11fb0279f64cc484e2622a7a838d0f50179053b2 100644 (file)
 #include <limits.h>
 
 #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)
 
-/* Free any of the above. */
+extern void *malloc(size_t size);
+extern void *realloc(void *ptr, size_t size);
+extern void free(void *ptr);
+
+/* Free memory from any xmalloc*() call. */
 extern void xfree(const void *);
 
 /* Underlying functions */
 extern void *_xmalloc(size_t size, size_t align);
-extern void *_realloc(void *ptr, size_t size);
 
 #endif
 
index 015cd31bb999f9f178cbe135e6e8373868023b47..23e367d3d64c5cc98093ca71bc47419185040c96 100644 (file)
@@ -267,7 +267,12 @@ void xfree(const void *p)
     /* spin_unlock_irqrestore(&freelist_lock, flags); */
 }
 
-void *_realloc(void *ptr, size_t size)
+void *malloc(size_t size)
+{
+    return _xmalloc(size, DEFAULT_ALIGN);
+}
+
+void *realloc(void *ptr, size_t size)
 {
     void *new;
     struct xmalloc_hdr *hdr;
@@ -296,6 +301,11 @@ void *_realloc(void *ptr, size_t size)
 
     return new;
 }
+
+void free(void *ptr)
+{
+    xfree(ptr);
+}
 #endif
 
 /*