"H. J. Lu" wrote on 11.04.2007 16:07:40: > We do need a new type when casting from pointer to integer. But > it should be determined in autoconf. You can use AC_CHECK_SIZEOF. I adjust my patch not using the printf macro and using configure.in in bfd to find the proper type for bfd_hostptr_t. Also I adjust the autodetection of 64 bit in configure by using the size of a "void *" == 8 for detection. ChangeLog: 2007-04-18 Kai Tietz * bfd/bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New as equivalent for BFD_HOST_64BIT_LONG. (BFD_HOSTPTR_T): Host pointer type for casting a pointer to an integer type. (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T. (sprintf_vma, fprintf_vma): Add support for long long prints. * bfd/bfd-in2.h: Regenerate. * bfd/configure.in: (BFD_HOST_64BIT_LONG_LONG): New as equivalent for BFD_HOST_64BIT_LONG. (BFD_HOSTPTR_T): Host pointer type for casting a pointer to an integer type. Defauls is "unsigned long". (AC_CHECK_SIZEOF(void *)): New. (host64): Set it if the pointer size is 8. * bfd/configure: Regenerate. * bfd/config.in: Add macro SIZEOF_VOID_P. * bfd/coffcode.h: Replace host ptr type assuming "long" to bfd_hostptr_t type. * bfd/coffgen.c: Likewise. * bfd/elf-eh-frame.c: Likewise. * bfd/peicode.h: Likewise. * gas/symbols.c: Print bfd_hostptr_t to file via fprintf_vma. * gas/write.c: Likewise. * gprof/cg_print.c: Force cast of sizeof to be a long. * gprof/hist.c: Likewise. * include/splay-tree.h: New type libi_uhostptr_t needed for w64 when a long is not wide enought for a pointer for splay_tree_key and splay_tree_value.. (splay_tree_key, splay_tree_value): As above, see comment. * include/coff/internal.h: Replace host ptr type assuming "long" to bfd_hostptr_t type. * libiberty/strerror.c: Undefine sys_nerr and sys_errlist if allready defined in front by runtime headers. Regards, i.A. Kai Tietz ------------------------------------------------------------------------------------------ OneVision Software Entwicklungs GmbH & Co. KG Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050 Handelsregister: HRA 6744, Amtsgericht Regensburg Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: Ulrike Döhler, Manuela Kluger