bug-gnulib
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]