It seems there is a problem in /sys/am64/_types.h when cross-compiling a
32-bit code in amd64 machine, the following code prints 4 instead of 8:
/* int64_size.c */
#include <sys/types.h>
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(int64_t));
return (0);
}
$cc -m32 -o int64_size -B /usr/lib32/ int64_size.c
$./int64_size
4
Regards,
David Xu