Revert "tools/mkimage: update to v2024.04"
[openwrt/staging/stintel.git] / tools / mkimage / patches / 030-allow-to-use-different-magic.patch
index ce61cb0fb6ccd455e9049f421f1600cfcd9e11a6..f2f57965f604fe77e52d440172d56529b9b1706d 100644 (file)
@@ -2,7 +2,7 @@ This patch makes it possible to set a custom image magic.
 
 --- a/tools/mkimage.c
 +++ b/tools/mkimage.c
-@@ -20,6 +20,7 @@ static struct image_tool_params params =
+@@ -26,6 +26,7 @@ static struct image_tool_params params =
        .arch = IH_ARCH_PPC,
        .type = IH_TYPE_KERNEL,
        .comp = IH_COMP_GZIP,
@@ -10,8 +10,8 @@ This patch makes it possible to set a custom image magic.
        .dtc = MKIMAGE_DEFAULT_DTC_OPTIONS,
        .imagename = "",
        .imagename2 = "",
-@@ -76,11 +77,12 @@ static void usage(const char *msg)
-                        "          -l ==> list image header information\n",
+@@ -89,11 +90,12 @@ static void usage(const char *msg)
+                        "          -q ==> quiet\n",
                params.cmdname);
        fprintf(stderr,
 -              "       %s [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image\n"
@@ -24,16 +24,16 @@ This patch makes it possible to set a custom image magic.
                "          -a ==> set load address to 'addr' (hex)\n"
                "          -e ==> set entry point to 'ep' (hex)\n"
                "          -n ==> set image name to 'name'\n"
-@@ -143,7 +145,7 @@ static void process_args(int argc, char
-       int opt;
+@@ -159,7 +161,7 @@ static int add_content(int type, const c
+ }
  
-       while ((opt = getopt(argc, argv,
--                           "a:A:b:c:C:d:D:e:Ef:Fk:i:K:ln:N:p:O:rR:qsT:vVx")) != -1) {
-+                           "a:A:b:c:C:d:D:e:Ef:Fk:i:K:lM:n:N:p:O:rR:qsT:vVx")) != -1) {
-               switch (opt) {
-               case 'a':
-                       params.addr = strtoull(optarg, &ptr, 16);
-@@ -221,6 +223,14 @@ static void process_args(int argc, char
+ static const char optstring[] =
+-      "a:A:b:B:c:C:d:D:e:Ef:Fg:G:i:k:K:ln:N:o:O:p:qrR:stT:vVx";
++      "a:A:b:B:c:C:d:D:e:Ef:Fg:G:i:k:K:lM:n:N:o:O:p:qrR:stT:vVx";
+ static const struct option longopts[] = {
+       { "load-address", required_argument, NULL, 'a' },
+@@ -302,6 +304,14 @@ static void process_args(int argc, char
                case 'l':
                        params.lflag = 1;
                        break;
@@ -50,7 +50,16 @@ This patch makes it possible to set a custom image magic.
                        break;
 --- a/tools/default_image.c
 +++ b/tools/default_image.c
-@@ -116,7 +116,7 @@ static void image_set_header(void *ptr,
+@@ -67,7 +67,7 @@ static int image_verify_header(unsigned
+        */
+       memcpy(hdr, ptr, sizeof(struct legacy_img_hdr));
+-      if (be32_to_cpu(hdr->ih_magic) != IH_MAGIC) {
++      if (be32_to_cpu(hdr->ih_magic) != params->magic) {
+               debug("%s: Bad Magic Number: \"%s\" is no valid image\n",
+                     params->cmdname, params->imagefile);
+               return -FDT_ERR_BADMAGIC;
+@@ -146,7 +146,7 @@ static void image_set_header(void *ptr,
        }
  
        /* Build new header */
@@ -61,7 +70,7 @@ This patch makes it possible to set a custom image magic.
        image_set_load(hdr, addr);
 --- a/tools/imagetool.h
 +++ b/tools/imagetool.h
-@@ -53,6 +53,7 @@ struct image_tool_params {
+@@ -67,6 +67,7 @@ struct image_tool_params {
        int arch;
        int type;
        int comp;