update uml readme with working cmdline example
[openwrt.git] / tools / mkimage / src / mkimage.c
index 6490da8..7c0432b 100644 (file)
@@ -19,6 +19,9 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA 02111-1307 USA
  */
+#ifdef __APPLE__
+#define __FreeBSD__ 10
+#endif
 
 #include <errno.h>
 #include <fcntl.h>
@@ -35,8 +38,8 @@
 
 #if defined(__BEOS__) || defined(__NetBSD__) || defined(__APPLE__)
 #include <inttypes.h>
+#include <sys/types.h>
 #endif
-
 #ifdef __WIN32__
 typedef unsigned int __u32;
 
@@ -93,6 +96,8 @@ table_entry_t arch_name[] = {
     {  IH_CPU_SH,              "sh",           "SuperH",       },
     {  IH_CPU_SPARC,           "sparc",        "SPARC",        },
     {  IH_CPU_SPARC64,         "sparc64",      "SPARC 64 Bit", },
+    {  IH_CPU_BLACKFIN,        "blackfin",     "Blackfin",     },
+    {  IH_CPU_AVR32,           "avr32",        "AVR32",        },
     {  -1,                     "",             "",             },
 };
 
@@ -129,6 +134,7 @@ table_entry_t type_name[] = {
     {  IH_TYPE_RAMDISK,    "ramdisk",    "RAMDisk Image",      },
     {  IH_TYPE_SCRIPT,     "script",     "Script",             },
     {  IH_TYPE_STANDALONE, "standalone", "Standalone Program", },
+    {  IH_TYPE_FLATDT,     "flat_dt",    "Flat Device Tree",   },
     {  -1,                 "",           "",                   },
 };
 
@@ -136,6 +142,7 @@ table_entry_t comp_name[] = {
     {  IH_COMP_NONE,   "none",         "uncompressed",         },
     {  IH_COMP_BZIP2,  "bzip2",        "bzip2 compressed",     },
     {  IH_COMP_GZIP,   "gzip",         "gzip compressed",      },
+    {  IH_COMP_LZMA,   "lzma",         "lzma compressed",      },
     {  -1,             "",             "",                     },
 };
 
@@ -276,7 +283,8 @@ NXTARG:             ;
         */
        if (xflag) {
                if (ep != addr + sizeof(image_header_t)) {
-                       fprintf (stderr, "%s: For XIP, the entry point must be the load addr + %lu\n",
+                       fprintf (stderr,
+                               "%s: For XIP, the entry point must be the load addr + %lu\n",
                                cmdname,
                                (unsigned long)sizeof(image_header_t));
                        exit (EXIT_FAILURE);
@@ -346,8 +354,9 @@ NXTARG:             ;
 
                if (crc32 (0, data, len) != checksum) {
                        fprintf (stderr,
-                               "*** Warning: \"%s\" has bad header checksum!\n",
-                               imagefile);
+                               "%s: ERROR: \"%s\" has bad header checksum!\n",
+                               cmdname, imagefile);
+                       exit (EXIT_FAILURE);
                }
 
                data = (char *)(ptr + sizeof(image_header_t));
@@ -355,8 +364,9 @@ NXTARG:             ;
 
                if (crc32 (0, data, len) != ntohl(hdr->ih_dcrc)) {
                        fprintf (stderr,
-                               "*** Warning: \"%s\" has corrupted data!\n",
-                               imagefile);
+                               "%s: ERROR: \"%s\" has corrupted data!\n",
+                               cmdname, imagefile);
+                       exit (EXIT_FAILURE);
                }
 
                /* for multi-file images we need the data part, too */
@@ -383,7 +393,7 @@ NXTARG:             ;
 
        if (opt_type == IH_TYPE_MULTI || opt_type == IH_TYPE_SCRIPT) {
                char *file = datafile;
-               unsigned long size;
+               uint32_t size;
 
                for (;;) {
                        char *sep = NULL;
@@ -628,7 +638,7 @@ print_header (image_header_t *hdr)
        if (hdr->ih_type == IH_TYPE_MULTI || hdr->ih_type == IH_TYPE_SCRIPT) {
                int i, ptrs;
                uint32_t pos;
-               unsigned long *len_ptr = (unsigned long *) (
+               uint32_t *len_ptr = (uint32_t *) (
                                        (unsigned long)hdr + sizeof(image_header_t)
                                );
 
This page took 0.022037 seconds and 4 git commands to generate.