Brief: We moved our cross compilation toolchain for an arm board from a 32 bit file system host to a 64 bit host whose file system has inodes > 2^32. Using gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf results in the error
cc1plus: error: MYPATH: Value too large for defined data type
where
$ stat MYPATH
...
Inode 9264879623
...
This toolchain is compiled for 64 bit host, so why can't it handle 64bit inodes?
Long:
We used gcc-linaro-arm-linux-gnueabihf-4.8-2014.04 on our 32 bit host. Initially after moving to a 64 bit file host, we set enable_ino64=0
and continued with the old toolchain. However, this only has effect on a single machine and eventually we want the toolchain to work from all company machines.
We can successfully compile code with gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf when all source files (incidentally) reside on the file server with inodes <= 32bit.