tools/sstrip: Fix compile under standard linux.
authorRosen Penev <rosenp@gmail.com>
Thu, 23 Nov 2017 21:18:07 +0000 (13:18 -0800)
committerJo-Philipp Wich <jo@mein.io>
Wed, 13 Dec 2017 12:17:35 +0000 (13:17 +0100)
bswap32 undefined is the issue. Added the proper header. Also fixed a few format/conversion warnings that clang complained about without -Wall or -Wextra.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit d6e34b735201805ae9112a7997f15b80f5926942)

tools/sstrip/src/sstrip.c

index 0508aaac81ec0a48ba524b444eaa368444ff2620..12cf12e0958825daaf45df5f25202a0b26da2667 100644 (file)
@@ -59,6 +59,7 @@
 #include       <unistd.h>
 #include       <fcntl.h>
 #include       <elf.h>
+#include       <byteswap.h>
 
 #ifndef TRUE
 #define        TRUE            1
@@ -103,7 +104,7 @@ static int do_reverse_endian;
                } else if (sizeof(X) == 8) { \
                        __res = bswap_64((X)); \
                } else { \
-                       fprintf(stderr, "%s: %s: EGET failed for size %d\n", \
+                       fprintf(stderr, "%s: %s: EGET failed for size %zu\n", \
                                        progname, filename, sizeof(X)); \
                        exit(EXIT_FAILURE); \
                } \
@@ -124,7 +125,7 @@ static int do_reverse_endian;
                } else if (sizeof(Y) == 8) { \
                        Y = bswap_64((uint64_t)(X)); \
                } else { \
-                       fprintf(stderr, "%s: %s: ESET failed for size %d\n", \
+                       fprintf(stderr, "%s: %s: ESET failed for size %zu\n", \
                                        progname, filename, sizeof(Y)); \
                        exit(EXIT_FAILURE); \
                } while (0)
@@ -197,7 +198,7 @@ static int getmemorysize ## CLASS (Elf ## CLASS ## _Ehdr const *ehdr, \
 { \
        Elf ## CLASS ## _Phdr const   *phdr; \
        unsigned long   size, n; \
-       int                     i; \
+       size_t                  i; \
  \
        /* Start by setting the size to include the ELF header and the \
         * complete program segment header table. \
@@ -230,7 +231,7 @@ static int modifyheaders ## CLASS (Elf ## CLASS ## _Ehdr *ehdr, \
                                                                   unsigned long newsize) \
 { \
        Elf ## CLASS ## _Phdr *phdr; \
-       int             i; \
+       size_t          i; \
  \
        /* If the section header table is gone, then remove all references \
         * to it in the ELF header. \