[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: #error "This file assumes that 'int' has exactly 32 bits.
From: |
Eric Blake |
Subject: |
Re: #error "This file assumes that 'int' has exactly 32 bits. |
Date: |
Fri, 09 Aug 2013 09:25:08 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 |
On 08/09/2013 09:08 AM, I Love To Get Spamed wrote:
> I believe the following is the command line it was trying to execute:
>
> arm-angstrom-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork
> -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8
> --sysroot=/home/epic/setup-scripts/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone
> -std=gnu99 -I.
> -I/home/epic/setup-scripts/build/tmp-angstrom_v2013_06-eglibc/work/cortexa8hf-vfp-neon-angstrom-linux-gnueabi/bison/2.7-r1/bison-2.7/lib
> -I../intl -O2 -pipe -g -feliminate-unused-debug-types -c
> /home/epic/setup-scripts/build/tmp-angstrom_v2013_06-eglibc/work/cortexa8hf-vfp-neon-angstrom-linux-gnueabi/bison/2.7-r1/bison-2.7/lib/timevar.c
>
> In file included from
> /home/epic/setup-scripts/build/tmp-angstrom_v2013_06-eglibc/work/cortexa8hf-vfp-neon-angstrom-linux-gnueabi/bison/2.7-r1/bison-2.7/lib/../src/system.h:42:0,
> from
> /home/epic/setup-scripts/build/tmp-angstrom_v2013_06-eglibc/work/cortexa8hf-vfp-neon-angstrom-linux-gnueabi/bison/2.7-r1/bison-2.7/lib/timevar.c:35:
> ./inttypes.h:57:3: error: #error "This file assumes that 'int' has exactly
> 32 bits. Please report your platform and compiler to <address@hidden>."
>
> beaglebone black (
> http://circuitco.com/support/index.php?title=BeagleBoneBlack) is a Ti
> Sitara AM3359AZCZ100 processor (ARM Cortex A8). The Linux Distro it ships
> with is Angstrom (http://angstrom-distribution.org/) *CLoud9 GNOME Image
> 2013.06.20* (
> http://circuitco.com/support/index.php?title=Updating_The_Software)
>
> I'm trying to use Angstrom's setup-scripts (angstrom-v2013.06-yocto1.4
> branch) from https://github.com/Angstrom-distribution/setup-scripts.
Still need more information. What does this do when compiled with your
cross-compiler, then run on the target?
#include <stdio.h>
#include <limits.h>
#include <stdint.h>
int main(void) {
printf("%zu %zu %zu %zu\n", sizeof(short), sizeof(int), sizeof(long),
sizeof(long long));
printf("
return 0;
}
Also, what does the pre-processor output show for those four constants?
Something like this:
$ printf '#include <stdint.h>\n#include <limits.h>\n
INT_MAX\nINT32_MAX\nINT_MIN\nINT32_MIN\n' \
| $CC -E - | tail -n 4
For example, when I run those tests with my native gcc on a 64-bit
x86_64 platform, I see:
2 4 8 8
80000000 80000000 7fffffff 7fffffff
and
2147483647
(2147483647)
(-2147483647 - 1)
(-2147483647-1)
I have to wonder if your platform has a buggy <stdint.h> or <limits.h>.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature