mkimxboot: Fix up a large pile of compile warnings with -Wextra

rockbox-gerrit-noreply--- via rockbox-cvs <[email protected]> Mon, 22 Jun 2026 20:59:28 -0400
Newsgroups gmane.comp.systems.archos.rockbox.cvs
Message-ID <[email protected]>
commit 30567451b170c6a552aca242a294e54b2cf08d91
Author: Solomon Peachy <[email protected]>
Date:   Mon Jun 22 20:55:23 2026 -0400

    mkimxboot:  Fix up a large pile of compile warnings with -Wextra
    
    Change-Id: Ida1eae89e4a2cc99e8e2ed734c4d669c1a2a8cb2

diff --git a/utils/imxtools/sbtools/Makefile b/utils/imxtools/sbtools/Makefile
index 64a9651f4a..c4033706c5 100644
--- a/utils/imxtools/sbtools/Makefile
+++ b/utils/imxtools/sbtools/Makefile
@@ -1,7 +1,6 @@
 DEFINES=
 CC := gcc
-CXX := g++
-LD := g++
+LD := gcc
 
 TOMCRYPT_DIR := ../../tomcrypt/
 
diff --git a/utils/imxtools/sbtools/sb.h b/utils/imxtools/sbtools/sb.h
index a314f3211d..b85add9797 100644
--- a/utils/imxtools/sbtools/sb.h
+++ b/utils/imxtools/sbtools/sb.h
@@ -36,7 +36,7 @@ struct sb_version_t
     uint16_t pad1;
     uint16_t revision;
     uint16_t pad2;
-};
+} __attribute__((packed));
 
 struct sb_header_t
 {
diff --git a/utils/mkimxboot/main.c b/utils/mkimxboot/main.c
index c48ece5a56..8f899b5ec2 100644
--- a/utils/mkimxboot/main.c
+++ b/utils/mkimxboot/main.c
@@ -219,7 +219,7 @@ int main(int argc, char *argv[])
             case 'x':
                 dump_imx_dev_info("");
                 printf("variant mapping:\n");
-                for(int i = 0; i < sizeof(imx_variants) / sizeof(imx_variants[0]); i++)
+                for(unsigned int i = 0; i < sizeof(imx_variants) / sizeof(imx_variants[0]); i++)
                     printf("  %s -> variant=%d\n", imx_variants[i].name, imx_variants[i].variant);
                 break;
             case 'p':
@@ -234,7 +234,7 @@ int main(int argc, char *argv[])
                     printf("You cannot specify two models\n");
                     return 1;
                 }
-                for(int i = 0; i < NR_MODELS; i++)
+                for(unsigned int i = 0; i < NR_MODELS; i++)
                     if(strcmp(optarg, imx_models[i].name) == 0)
                     {
                         model = imx_models[i].model;
diff --git a/utils/mkimxboot/mkimxboot.c b/utils/mkimxboot/mkimxboot.c
index fa6c057ad8..f631c022be 100644
--- a/utils/mkimxboot/mkimxboot.c
+++ b/utils/mkimxboot/mkimxboot.c
@@ -421,14 +421,14 @@ static enum imx_error_t patch_std_zero_host_play(int jump_before,
 
 static enum imx_error_t parse_subversion(const char *s, const char *end, uint16_t *ver)
 {
-    int len = (end == NULL) ? strlen(s) : end - s;
+    size_t len = (end == NULL) ? strlen(s) : (size_t)(end - s);
     if(len > 4)
     {
         printf("[ERR] Bad subversion override '%s' (too long)\n", s);
         return IMX_ERROR;
     }
     *ver = 0;
-    for(int i = 0; i < len; i++)
+    for(unsigned int i = 0; i < len; i++)
     {
         if(!isdigit(s[i]))
         {
@@ -564,6 +564,7 @@ static enum imx_error_t unpatch_std_zero_host_play(int jump_before,
     free(sec->insts);
     sec->insts = new_inst;
 
+    (void)opt;
     return IMX_SUCCESS;
 }
 
@@ -616,23 +617,23 @@ static uint32_t get_uint32be(unsigned char *p)
 void dump_imx_dev_info(const char *prefix)
 {
     printf("%smkimxboot models:\n", prefix);
-    for(int i = 0; i < NR_IMX_MODELS; i++)
+    for(unsigned int i = 0; i < NR_IMX_MODELS; i++)
     {
         printf("%s  %s: idx=%d rb_model=%s rb_num=%d\n", prefix,
             imx_models[i].model_name, i, imx_models[i].rb_model_name,
             imx_models[i].rb_model_num);
     }
     printf("%smkimxboot variants:\n", prefix);
-    for(int i = 0; i < VARIANT_COUNT; i++)
+    for(unsigned int i = 0; i < VARIANT_COUNT; i++)
     {
         printf("%s  %d: %s\n", prefix, i, imx_fw_variant[i]);
     }
     printf("%smkimxboot mapping:\n", prefix);
-    for(int i = 0; i < NR_IMX_SUMS; i++)
+    for(unsigned int i = 0; i < NR_IMX_SUMS; i++)
     {
         printf("%s  md5sum=%s -> idx=%d, ver=%s\n", prefix, imx_sums[i].md5sum,
             imx_sums[i].model, imx_sums[i].version);
-        for(int j = 0; j < VARIANT_COUNT; j++)
+        for(unsigned int j = 0; j < VARIANT_COUNT; j++)
             if(imx_sums[i].fw_variants[j].size)
                 printf("%s    variant=%d -> offset=%#x size=%#x\n", prefix,
                     j, (unsigned)imx_sums[i].fw_variants[j].offset,
@@ -643,7 +644,7 @@ void dump_imx_dev_info(const char *prefix)
 /* find an entry into imx_sums which matches the MD5 sum of a file */
 static enum imx_error_t find_model_by_md5sum(uint8_t file_md5sum[16], int *md5_idx)
 {
-    int i = 0;
+    unsigned int i = 0;
     while(i < NR_IMX_SUMS)
     {
         uint8_t md5[20];
@@ -821,13 +822,13 @@ enum imx_error_t compute_soft_md5sum(const char *file, uint8_t soft_md5sum[16])
     if(sb == NULL)
     {
         printf("[ERR] Cannot load SB file: %d\n", err);
-        return err;
+        return ((enum imx_error_t)err);
     }
     /* compute sum */
-    err = compute_soft_md5sum_buf(sb, soft_md5sum);
+    err = (enum sb_error_t) compute_soft_md5sum_buf(sb, soft_md5sum);
     /* release file */
     sb_free(sb);
-    return err;
+    return ((enum imx_error_t)err);
 }
 
 /* Load a rockbox firwmare from a buffer. Data is copied. Assume firmware is
@@ -849,7 +850,7 @@ static enum imx_error_t rb_fw_load_buf_scramble(struct rb_fw_t *fw, uint8_t *buf
     }
     /* check checksum */
     uint32_t sum = imx_models[model].rb_model_num;
-    for(int i = 8; i < sz; i++)
+    for(unsigned int i = 8; i < sz; i++)
         sum += buf[i];
     if(sum != get_uint32be(buf))
     {
@@ -937,6 +938,8 @@ static enum imx_error_t rb_fw_load_buf_elf(struct rb_fw_t *fw, uint8_t *buf,
         return IMX_BOOT_INVALID;
     }
     elf_release(&elf);
+
+    (void)model;
     return IMX_SUCCESS;
 }
 
@@ -1113,7 +1116,7 @@ enum imx_error_t mkimxboot(const char *infile, const char *bootfile,
     if(ret == IMX_SUCCESS)
     {
         /* write image */
-        ret = sb_write_file(sb_file, outfile, NULL, generic_std_printf);
+        ret = (enum imx_error_t) sb_write_file(sb_file, outfile, NULL, generic_std_printf);
     }
     /* cleanup */
     sb_free(sb_file);
-- 
rockbox-cvs mailing list
[email protected]
https://lists.haxx.se/mailman/listinfo/rockbox-cvs