RE: scripts/mod/file2alias.c cross compile problem

From: Luck, Tony
Date: Thu Aug 02 2007 - 12:26:24 EST


> Adrian Bunk: scripts/mod/file2alias.c is compiled with HOSTCC and ensures that
> kernel_ulong_t is correct, but it can't cope with different padding on
> different architectures.

Surely this is the root cause ... you can't expect that the alignment
rules of HOSTCC to make any sense for an arbitraty target.

> +#define FILLUP_LEN 7 /* dirty fix for i386 -> 64bit cross-compilation */
>
> struct acpi_device_id {
> __u8 id[ACPI_ID_LEN];
> + __u8 dummy[FILLUP_LEN];
> kernel_ulong_t driver_data;
> };

What's so special about this structure that we get an error? Surely
there are many kernel structures with different alignment/padding
when built with i386 complier compared with ia64 compiler. We can't
go around manually padding them all (it wastes time, and also wastes
memory on the 32-bit systems that don't need this padding).

-Tony

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/