Compiling glibc with 2.6.28 linux headers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----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


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

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux