Re: Compiling glibc with 2.6.28 linux headers

From: David Miller
Date: Tue Dec 16 2008 - 04:13:52 EST


From: Friedrich Oslage <bluebird@xxxxxxxxxx>
Date: Sat, 13 Dec 2008 16:55:02 +0100

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> when compiling glibc(2.9, 20081208 snapshot) with linux 2.6.28-rc8
> headers I get a lot of errors like this one:
>
> In file included from
> /tmp/toolchain-build/rootfs/usr/include/asm/byteorder.h:49,
> from
> /tmp/toolchain-build/rootfs/usr/include/linux/atalk.h:4,
> from ../sysdeps/unix/sysv/linux/netatalk/at.h:25,
> from ../sysdeps/unix/sysv/linux/sa_len.c:22:
> /tmp/toolchain-build/rootfs/usr/include/linux/byteorder.h:8:3: error:
> #error Fix asm/byteorder.h to define one endianness

Harvey, we might need to do something about this.

> About a month ago arch/sparc/include/asm/byteorder.h was changed to
> include the new linux/byteorder.h instead of the old
> linux/byteorder/big_endian.h. The new one panics if both __LITTLE_ENDIAN
> and __BIG_ENDIAN are defined.
>
> But since glibc's string/endian.h(/usr/include/endian.h) always defines
> __BIG_ENDIAN and __LITTLE_ENDIAN it may occur, depending on the
> includes, that both are defined when asm/byteorder.h is included.
>
> My assumption is that asm/byteorder.h should ensure that only one of
> these is defined.
>
> After applying the patch below compiling glibc works again. But when
> compiling the kernel I get
>
> In file included from drivers/scsi/qla2xxx/qla_dfs.c:7:
> drivers/scsi/qla2xxx/qla_def.h:1487:7: warning: "__LITTLE_ENDIAN" is not
> defined
>
> Which sould be okay...I think the #elif should really be an #elif
> defined but that's another thing ;)
>
> Is this the right solution or did I miss anything?
>
> Cheers,
> Friedrich
>
> - --- arch/sparc/include/asm/byteorder.h
> +++ arch/sparc/include/asm/byteorder.h
> @@ -5,6 +5,9 @@
> #include <asm/asi.h>
>
> #define __BIG_ENDIAN
> +#ifdef __LITTLE_ENDIAN
> +# undef __LITTLE_ENDIAN
> +#endif
>
> #ifdef CONFIG_SPARC32
> #define __SWAB_64_THRU_32__
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.9 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAklD2tYACgkQknxn9PmJ76XvEACZAajpv/iRLAeEHXp7cIWBCEEX
> V9kAnRZ0BBDwLrMENDsPsYMuPWpLDlKv
> =48UQ
> -----END PGP SIGNATURE-----
> --
> To unsubscribe from this list: send the line "unsubscribe sparclinux" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
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/