tools/mkimage: fix compilation on FreeBSD
authorAlexandros C. Couloumbis <alex@ozo.com>
Mon, 3 Jan 2011 12:30:19 +0000 (12:30 +0000)
committerAlexandros C. Couloumbis <alex@ozo.com>
Mon, 3 Jan 2011 12:30:19 +0000 (12:30 +0000)
SVN-Revision: 24887

tools/mkimage/patches/010-freebsd-ulong-fix.patch [new file with mode: 0644]
tools/mkimage/patches/100-portability.patch [new file with mode: 0644]

diff --git a/tools/mkimage/patches/010-freebsd-ulong-fix.patch b/tools/mkimage/patches/010-freebsd-ulong-fix.patch
new file mode 100644 (file)
index 0000000..32fa074
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/include/image.h
++++ b/include/image.h
+@@ -50,6 +50,10 @@
+ #endif /* USE_HOSTCC */
++#ifndef ulong
++#define ulong unsigned long
++#endif
++
+ #if defined(CONFIG_FIT)
+ #include <fdt.h>
+ #include <libfdt.h>
diff --git a/tools/mkimage/patches/100-portability.patch b/tools/mkimage/patches/100-portability.patch
new file mode 100644 (file)
index 0000000..052a584
--- /dev/null
@@ -0,0 +1,46 @@
+--- a/tools/kwbimage.c
++++ b/tools/kwbimage.c
+@@ -206,6 +206,30 @@ INVL_DATA:
+       exit (EXIT_FAILURE);
+ }
++#ifndef __GLIBC__
++#ifndef __FreeBSD__
++static ssize_t
++getline(char **line, size_t *len, FILE *fd)
++{
++      char *tmp;
++      int tmplen;
++
++      tmp = fgetln(fd, &tmplen);
++      if (!tmp)
++              return -1;
++
++      if (!*line || tmplen > *len) {
++              *len = tmplen + 1;
++              *line = realloc(*line, *len);
++      }
++
++      strncpy(*line, tmp, tmplen);
++      line[tmplen] = 0;
++      return tmplen;
++}
++#endif
++#endif
++
+ /*
+  * this function sets the kwbimage header by-
+  *    1. Abstracting input command line arguments data
+--- a/include/image.h
++++ b/include/image.h
+@@ -50,6 +50,10 @@
+ #endif /* USE_HOSTCC */
++#ifndef ulong
++#define ulong unsigned long
++#endif
++
+ #if defined(CONFIG_FIT)
+ #include <fdt.h>
+ #include <libfdt.h>