]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - tools/relocate-rela.c
Remove CONFIG_SYS_BOOTCOUNT_SINGLEWORD
[people/ms/u-boot.git] / tools / relocate-rela.c
index 93b4c3923e701381e86bd6f23a97714ac9a61295..df968eb5fd1b82e1be321864577da4f6ec14dae1 100644 (file)
@@ -15,6 +15,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include "compiler.h"
 
 #ifndef R_AARCH64_RELATIVE
 #define R_AARCH64_RELATIVE     1027
@@ -26,9 +27,11 @@ static void debug(const char *fmt, ...)
 {
        va_list args;
 
-       va_start(args, fmt);
-       if (debug_en)
+       if (debug_en) {
+               va_start(args, fmt);
                vprintf(fmt, args);
+               va_end(args);
+       }
 }
 
 static bool supported_rela(Elf64_Rela *rela)
@@ -50,40 +53,6 @@ static bool supported_rela(Elf64_Rela *rela)
        }
 }
 
-static inline uint64_t swap64(uint64_t val)
-{
-       return ((val >> 56) & 0x00000000000000ffULL) |
-              ((val >> 40) & 0x000000000000ff00ULL) |
-              ((val >> 24) & 0x0000000000ff0000ULL) |
-              ((val >>  8) & 0x00000000ff000000ULL) |
-              ((val <<  8) & 0x000000ff00000000ULL) |
-              ((val << 24) & 0x0000ff0000000000ULL) |
-              ((val << 40) & 0x00ff000000000000ULL) |
-              ((val << 56) & 0xff00000000000000ULL);
-}
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-static inline uint64_t be64(uint64_t val)
-{
-       return swap64(val);
-}
-
-static inline uint64_t le64(uint64_t val)
-{
-       return val;
-}
-#else
-static inline uint64_t le64(uint64_t val)
-{
-       return swap64(val);
-}
-
-static inline uint64_t be64(uint64_t val)
-{
-       return val;
-}
-#endif
-
 static bool read_num(const char *str, uint64_t *num)
 {
        char *endptr;
@@ -120,7 +89,7 @@ int main(int argc, char **argv)
        }
 
        if (rela_start > rela_end || rela_start < text_base ||
-           (rela_end - rela_start) % 24) {
+           (rela_end - rela_start) % sizeof(Elf64_Rela)) {
                fprintf(stderr, "%s: bad rela bounds\n", argv[0]);
                return 3;
        }
@@ -148,9 +117,9 @@ int main(int argc, char **argv)
                        return 4;
                }
 
-               swrela.r_offset = le64(rela.r_offset);
-               swrela.r_info = le64(rela.r_info);
-               swrela.r_addend = le64(rela.r_addend);
+               swrela.r_offset = cpu_to_le64(rela.r_offset);
+               swrela.r_info = cpu_to_le64(rela.r_info);
+               swrela.r_addend = cpu_to_le64(rela.r_addend);
 
                if (!supported_rela(&swrela))
                        continue;