On 64-bit platforms, size_t has 64 bits. So load address was overwritten
when changing the kernel size, which broke boot of the generated images.
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
#include <errno.h>
#include <sys/stat.h>
#include <errno.h>
#include <sys/stat.h>
-static int dump_or_load(int fd, size_t *len, int pgsz, char *fname, int dump)
+static int dump_or_load(int fd, uint32_t *len, int pgsz, char *fname, int dump)
-static int dump(int fd, size_t len, int pgsz, char *fname)
+static int dump(int fd, uint32_t len, int pgsz, char *fname)
{
return dump_or_load(fd, &len, pgsz, fname, 1);
}
{
return dump_or_load(fd, &len, pgsz, fname, 1);
}
-static int load(int fd, size_t *len, int pgsz, char *fname)
+static int load(int fd, uint32_t *len, int pgsz, char *fname)
{
return dump_or_load(fd, len, pgsz, fname, 0);
}
{
return dump_or_load(fd, len, pgsz, fname, 0);
}