RE: [PATCH] ppc32: fix mktree utility in 64-bit cross-compile environment

From: Zink, Dan
Date: Wed Aug 04 2004 - 10:27:45 EST


Resending as an attachment because of unwanted line wrapping by my
mailer.

Dan

-----Original Message-----
From: Zink, Dan
Sent: Tuesday, August 03, 2004 5:01 PM
To: 'akpm@xxxxxxxx'; 'linuxppc-dev@xxxxxxxxxxxxxxxxxx'
Cc: 'linux-kernel@xxxxxxxxxxxxxxx'
Subject: [PATCH] ppc32: fix mktree utility in 64-bit cross-compile
environment

The mktree utility is using "unsigned long" in the definition of a boot
block structure. This is bad when cross compiling from a 64-bit
architecture...

Thanks,
Dan


--- arch/ppc/boot/utils/mktree.c.old 2004-08-03 16:31:09.568992888
-0500
+++ arch/ppc/boot/utils/mktree.c 2004-08-03 16:32:26.773256056
-0500
@@ -15,19 +15,20 @@
#include <sys/stat.h>
#include <unistd.h>
#include <netinet/in.h>
+#include <asm/types.h>

/* This gets tacked on the front of the image. There are also a few
* bytes allocated after the _start label used by the boot rom (see
* head.S for details).
*/
typedef struct boot_block {
- unsigned long bb_magic; /* 0x0052504F */
- unsigned long bb_dest; /* Target address of the image
*/
- unsigned long bb_num_512blocks; /* Size, rounded-up, in 512 byte
blks */
- unsigned long bb_debug_flag; /* Run debugger or image after
load */
- unsigned long bb_entry_point; /* The image address to start */
- unsigned long bb_checksum; /* 32 bit checksum including
header */
- unsigned long reserved[2];
+ __u32 bb_magic; /* 0x0052504F */
+ __u32 bb_dest; /* Target address of the image */
+ __u32 bb_num_512blocks; /* Size, rounded-up, in 512 byte blks */
+ __u32 bb_debug_flag; /* Run debugger or image after load */
+ __u32 bb_entry_point; /* The image address to start */
+ __u32 bb_checksum; /* 32 bit checksum including header */
+ __u32 reserved[2];
} boot_block_t;

#define IMGBLK 512

Attachment: ppcfix.patch
Description: ppcfix.patch