[Bug other/44116] 64bit inodes for source code causes Value too large for defined data type (XFS,inode64)

2010-06-08 Thread kasparek at fit dot vutbr dot cz


--- Comment #4 from kasparek at fit dot vutbr dot cz  2010-06-08 10:34 
---
Hello, is there any progress in this, may I help with something?


-- 

kasparek at fit dot vutbr dot cz changed:

   What|Removed |Added

Version|4.5.0   |4.4.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44116



[Bug other/44116] 64bit inodes for source code causes Value too large for defined data type (XFS,inode64)

2010-05-14 Thread kasparek at fit dot vutbr dot cz


--- Comment #3 from kasparek at fit dot vutbr dot cz  2010-05-14 06:50 
---
(In reply to comment #1)
 to get the cc1 command line.  Then use gdb --args cc1 cmdline to debug the
 compiler.  Getting a backtrace before the abort would be nice.


(gdb) bt
#0  open_file (file=0x8a64148) at
/usr/local/lib/gcc/i686-pc-linux-gnu/4.3.4/include-fixed/sys/stat.h:510
#1  0x0866d707 in _cpp_find_file (pfile=0x8a5bb80, fname=0xff8d636f
test-10356.c, start_dir=0x8a5bbf4, fake=0 '\0', angle_brackets=0)
at ../../libcpp/files.c:378
#2  0x0866e2cc in cpp_read_main_file (pfile=0x8a5bb80, fname=0xff8d636f
test-10356.c) at ../../libcpp/init.c:561
#3  0x080f94a1 in c_common_post_options (pfilename=0x8945fdc) at
../../gcc/c-opts.c:1197
#4  0x08339410 in toplev_main (argc=11, argv=0xff8d4874) at
../../gcc/toplev.c:1810
#5  0x08118cb2 in main (argc=Cannot access memory at address 0x100
) at ../../gcc/main.c:35


I belive the problematic stat is gcc/files.c:232 (gcc-4.5.0). Would it be
possible to add config option to enable LFS that may be disabled by default?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44116



[Bug c/44116] New: 64bit inodes for source code causes Value too large for defined data type (XFS,inode64)

2010-05-13 Thread kasparek at fit dot vutbr dot cz
On multi-TB storage array with XFS filesystem I have to enable 64bit inodes
recently (inode64 mount option). Having test.c with:

int main(void){
  return 0;
}

compiles fine for one file, but if i copy it to another one (several times till
it got the right inode number) it produces:

r...@matylda1: /mnt/data/kasparek# LC_ALL=C gcc -o test.o test-10356.c
cc1: error: test-10356.c: Value too large for defined data type

The only difference I believe is inode number, definitely not the content of
the file:

r...@matylda1: /mnt/data/kasparek# stat test.c
  File: `test.c'
  Size: 30  Blocks: 8  IO Block: 4096   regular file
Device: 810h/2064d  Inode: 10853690Links: 1

r...@matylda1: /mnt/data/kasparek# stat test-10356.c
  File: `test-10356.c'
  Size: 30  Blocks: 8  IO Block: 4096   regular file
Device: 810h/2064d  Inode: 15447948189  Links: 1


from strace I found that cc1 is doing fstat64 call on the source code file and
then finishes with this message. The first this I need to help with is how to
check if the code that causes this (expect somewhere is used 32bit variable to
store the inode) is from gcc itself or it is some third-party library. I
checked latest version of 4.0, 4.1, 4.2, 4.3, 4.4, 4.5 branches and all behave
the same. The system is x86_64 2.6.32.12 kernel on CentOS 5.4. All GCCs are
32bit binaries (with cross compiler for x86_64, mips, arm and alpha having the
same behavior).

Thanks in advance.


-- 
   Summary: 64bit inodes for source code causes Value too large for
defined data type (XFS,inode64)
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kasparek at fit dot vutbr dot cz
 GCC build triplet: x86_64-pc-linux-gnu
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44116