mini-os: build fixes for lwip 1.3.2

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>
This commit is contained in:
David Vrabel committed 2013-01-30 02:38:37 -08:00
1 parent 6cf13d0d52
commit 122b798641
5 files changed
+22 -8

No files matched your search

+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+4
View 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 */
+5 -5
View File
@@ -14,16 +14,16 @@
#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
+11 -1
View 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
/*
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.