From 4e83015c51e36c06cf7dfa1e7ba63b52b29558e3 Mon Sep 17 00:00:00 2001 From: "Alexandros C. Couloumbis" Date: Mon, 3 Jan 2011 12:30:19 +0000 Subject: [PATCH] tools/mkimage: fix compilation on FreeBSD SVN-Revision: 24887 --- .../patches/010-freebsd-ulong-fix.patch | 13 ++++++ tools/mkimage/patches/100-portability.patch | 46 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 tools/mkimage/patches/010-freebsd-ulong-fix.patch create mode 100644 tools/mkimage/patches/100-portability.patch diff --git a/tools/mkimage/patches/010-freebsd-ulong-fix.patch b/tools/mkimage/patches/010-freebsd-ulong-fix.patch new file mode 100644 index 0000000000..32fa074533 --- /dev/null +++ b/tools/mkimage/patches/010-freebsd-ulong-fix.patch @@ -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 + #include diff --git a/tools/mkimage/patches/100-portability.patch b/tools/mkimage/patches/100-portability.patch new file mode 100644 index 0000000000..052a584cbb --- /dev/null +++ b/tools/mkimage/patches/100-portability.patch @@ -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 + #include -- 2.30.2