> Package: mac-fdisk
> Version: 0.1-13
>
> On the experimental Debian-PPC64
> (http://debian-ppc64.alioth.debian.org/), mac-fdisk fails on
> initialization.

What's the status of ppc64 anyway? I thought even Debian was going to
integrate 64 bit binaries into the regular powerpc architecture now?

> banana:~# mac-fdisk
> (null): Size of partion map entry (944) is not equal to block size
> (512)
>
> source is in pdisk.c:
>
>     if (sizeof(DPME) != PBLOCK_SIZE) {
>         fatal(-1, "Size of partion map entry (%d) "
>                 "is not equal to block size (%d)\n",
>                 sizeof(DPME), PBLOCK_SIZE);
>     }
>
> There are 3 independent bugs which cause this malfunction:
>
> 1. in dpme.h, "u32" is defined as "unsigned long", which is 64 bits
>    wide on ppc64 - I believe "unsigned int" should be safe on all
>    relevant platforms, or just use the C99 types (u_int32_t).

I doubt unsigned int is safe under all circumstances. But I'll give it a
try.

> 2. "struct dpme" is not packed, and its members are set to the wrong
>    alignment on ppc64

Since struct dpme describes the on-disk data format, there's nothing we
can do about packing or alignment on ppc64. Quote dpme.h:

        "Each entry is (and shall remain) 512 bytes long."

How does the kernel mac partition table support work on ppc64?

> 3. "struct dpme" contains several pointers, which are also 64 bits
>    wide on ppc64.  Who writes this kind of code??

Apple, at a time far back when 64 bit processors were of no interest to
them (the Alpha was available but nothing else).

The pointers are not used by any Linux code - they describe load and start
addresses for boot blocks only. We can easily convert these to unsigned 32
bit types. If you have a problem with 32 bit alignment on ppc64, please
write appropriate pack and unpack functions for use by ppc64.

I've prepared a new upload which should fix the issue. Please test.

        Michael


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to