diff options
author | hselasky <hselasky@FreeBSD.org> | 2014-05-30 14:30:52 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2014-05-30 14:30:52 +0000 |
commit | 30105e96518e8d4585263b6028a1b645a5c0b28f (patch) | |
tree | 2d22ac25b78cc049cd1a51ae7a154351532c6bf3 | |
parent | 3fdcf33605584af51db8bd4362cbb02a663c7023 (diff) | |
download | FreeBSD-src-30105e96518e8d4585263b6028a1b645a5c0b28f.zip FreeBSD-src-30105e96518e8d4585263b6028a1b645a5c0b28f.tar.gz |
Resolve issue with resolving malloc() and free() functions at linking time.
Sponsored by: DARPA, AFRL
-rw-r--r-- | sys/boot/usb/bsd_kernel.h | 10 | ||||
-rw-r--r-- | sys/boot/usb/bsd_usbloader_test.c | 13 |
2 files changed, 13 insertions, 10 deletions
diff --git a/sys/boot/usb/bsd_kernel.h b/sys/boot/usb/bsd_kernel.h index 9acbdc3..fe1eb67 100644 --- a/sys/boot/usb/bsd_kernel.h +++ b/sys/boot/usb/bsd_kernel.h @@ -430,7 +430,6 @@ size_t strlen(const char *s); /* MALLOC API */ -#ifndef HAVE_MALLOC #undef malloc #define malloc(s,x,f) usb_malloc(s) void *usb_malloc(size_t); @@ -438,15 +437,6 @@ void *usb_malloc(size_t); #undef free #define free(p,x) usb_free(p) void usb_free(void *); -#else -#undef malloc -void *malloc(size_t); -#define malloc(s,x,f) malloc(s) - -#undef free -void free(void *); -#define free(p,x) free(p) -#endif #define strdup(p,x) usb_strdup(p) char *usb_strdup(const char *str); diff --git a/sys/boot/usb/bsd_usbloader_test.c b/sys/boot/usb/bsd_usbloader_test.c index 929e2e9..9158a4f 100644 --- a/sys/boot/usb/bsd_usbloader_test.c +++ b/sys/boot/usb/bsd_usbloader_test.c @@ -26,6 +26,7 @@ #include <stdio.h> #include <stdint.h> +#include <stdlib.h> #include <time.h> extern int usleep(int); @@ -36,6 +37,18 @@ extern void usb_uninit(void); #define hz 1000 +void * +usb_malloc(size_t size) +{ + return (malloc(size)); +} + +void +usb_free(void *ptr) +{ + free(ptr); +} + void DELAY(unsigned int delay) { |