diff options
author | Len Brown <len.brown@intel.com> | 2009-09-19 00:06:59 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-09-19 00:06:59 -0400 |
commit | 71fd68e7d234f6b7d8407c8f486764d24f8411f4 (patch) | |
tree | 6dc2a4c356b4f454fc85d0c7cb019986f6f4993b /arch/powerpc/boot/mktree.c | |
parent | 8ff0e082f0833d32c7523a6cd72b6cf6a2142ce8 (diff) | |
parent | 78f28b7c555359c67c2a0d23f7436e915329421e (diff) | |
download | talos-op-linux-71fd68e7d234f6b7d8407c8f486764d24f8411f4.tar.gz talos-op-linux-71fd68e7d234f6b7d8407c8f486764d24f8411f4.zip |
Merge branch 'linus' into release
Diffstat (limited to 'arch/powerpc/boot/mktree.c')
-rw-r--r-- | arch/powerpc/boot/mktree.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/powerpc/boot/mktree.c b/arch/powerpc/boot/mktree.c index c2baae0a3d89..e2ae24340fc8 100644 --- a/arch/powerpc/boot/mktree.c +++ b/arch/powerpc/boot/mktree.c @@ -36,7 +36,7 @@ typedef struct boot_block { } boot_block_t; #define IMGBLK 512 -char tmpbuf[IMGBLK]; +unsigned int tmpbuf[IMGBLK / sizeof(unsigned int)]; int main(int argc, char *argv[]) { @@ -95,13 +95,13 @@ int main(int argc, char *argv[]) /* Assume zImage is an ELF file, and skip the 64K header. */ - if (read(in_fd, tmpbuf, IMGBLK) != IMGBLK) { + if (read(in_fd, tmpbuf, sizeof(tmpbuf)) != sizeof(tmpbuf)) { fprintf(stderr, "%s is too small to be an ELF image\n", argv[1]); exit(4); } - if ((*(unsigned int *)tmpbuf) != htonl(0x7f454c46)) { + if (tmpbuf[0] != htonl(0x7f454c46)) { fprintf(stderr, "%s is not an ELF image\n", argv[1]); exit(4); } @@ -121,11 +121,11 @@ int main(int argc, char *argv[]) } while (nblks-- > 0) { - if (read(in_fd, tmpbuf, IMGBLK) < 0) { + if (read(in_fd, tmpbuf, sizeof(tmpbuf)) < 0) { perror("zImage read"); exit(5); } - cp = (unsigned int *)tmpbuf; + cp = tmpbuf; for (i = 0; i < sizeof(tmpbuf) / sizeof(unsigned int); i++) cksum += *cp++; if (write(out_fd, tmpbuf, sizeof(tmpbuf)) != sizeof(tmpbuf)) { |