This is the mail archive of the ecos-bugs@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug 1000685] isoinfra limits.h breaks with gcc 4.3.3/synth


http://bugs.ecos.sourceware.org/show_bug.cgi?id=1000685





--- Comment #2 from Andrew Lunn <andrew.lunn@ascom.ch>  2009-02-22 12:22:34 ---
Lets start with a native program compiled with gcc:

#include <stdio.h>
#include <limits.h>

int main(const int argc, const char * argv[])
{
  printf("CHAR_MAX = %d\n", CHAR_MAX);
  return 0;
}

lunn@londo:~$ gcc -v limits.c 
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.3-4'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3
--program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
--enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic
--enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu
--target=i486-linux-gnu
Thread model: posix
gcc version 4.3.3 (Debian 4.3.3-4) 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic'
 /usr/lib/gcc/i486-linux-gnu/4.3.3/cc1 -quiet -v limits.c -quiet -dumpbase
limits.c -mtune=generic -auxbase limits -version -o /tmp/ccODKoXE.s
ignoring nonexistent directory "/usr/local/include/i486-linux-gnu"
ignoring nonexistent directory
"/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/include"
ignoring nonexistent directory "/usr/include/i486-linux-gnu"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/lib/gcc/i486-linux-gnu/4.3.3/include
 /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed
 /usr/include
End of search list.
GNU C (Debian 4.3.3-4) version 4.3.3 (i486-linux-gnu)
        compiled by GNU C version 4.3.3, GMP version 4.2.2, MPFR version 2.3.2.
warning: MPFR header version 2.3.2 differs from library version 2.4.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 8efd654c3d1434d77fbe6944a4fb1293
COLLECT_GCC_OPTIONS='-v' '-mtune=generic'
 as -V -Qy -o /tmp/cc4UUzxg.o /tmp/ccODKoXE.s
GNU assembler version 2.19.1 (i486-linux-gnu) using BFD version (GNU Binutils
for Debian) 2.19.1
COMPILER_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-mtune=generic'
 /usr/lib/gcc/i486-linux-gnu/4.3.3/collect2 --eh-frame-hdr -m elf_i386
--hash-style=both -dynamic-linker /lib/ld-linux.so.2
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crti.o
/usr/lib/gcc/i486-linux-gnu/4.3.3/crtbegin.o
-L/usr/lib/gcc/i486-linux-gnu/4.3.3 -L/usr/lib/gcc/i486-linux-gnu/4.3.3
-L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib -L/lib/../lib
-L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../.. /tmp/cc4UUzxg.o
-lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s
--no-as-needed /usr/lib/gcc/i486-linux-gnu/4.3.3/crtend.o
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crtn.o

and

$ gcc -E -dD limits.c | grep limits.h
# 1 "/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h" 1 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h" 1 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h" 1 3 4
# 122 "/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 25 "/usr/include/limits.h" 3 4
# 145 "/usr/include/limits.h" 3 4
# 1 "/usr/include/linux/limits.h" 1 3 4
# 146 "/usr/include/limits.h" 2 3 4
# 150 "/usr/include/limits.h" 2 3 4
# 123 "/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h" 2 3 4
# 8 "/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/syslimits.h" 2 3 4
# 12 "/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h" 2 3 4
# 50 "/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed/limits.h" 3 4

Now on to compiling eCos

fs/jffs2/current$ gcc -v -c  -I/home/lunn/eCos/work/install/include
-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current
-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src
-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/tests -I.
-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src/
-finline-limit=7000 -Wall -Wpointer-arith -Wstrict-prototypes -Wundef 
-Wno-write-strings -g -O2 -ffunction-sections -fdata-sections  -fno-exceptions
-D__ECOS -nostdinc -iwithprefix include -Wp,-MD,src/fs-ecos.tmp -o
src/fs_jffs2_fs-ecos.o
/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src/fs-ecos.c
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.3-4'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3
--program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
--enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic
--enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu
--target=i486-linux-gnu
Thread model: posix
gcc version 4.3.3 (Debian 4.3.3-4) 
COLLECT_GCC_OPTIONS='-v' '-c' '-I/home/lunn/eCos/work/install/include'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/tests' '-I.'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src/'
'-finline-limit=7000' '-Wall' '-Wpointer-arith' '-Wstrict-prototypes' '-Wundef'
'-Wno-write-strings' '-g' '-O2' '-ffunction-sections' '-fdata-sections'
'-fno-exceptions' '-D__ECOS' '-nostdinc' '-iwithprefix' 'include' '-o'
'src/fs_jffs2_fs-ecos.o' '-mtune=generic'
 /usr/lib/gcc/i486-linux-gnu/4.3.3/cc1 -quiet -nostdinc -v
-I/home/lunn/eCos/work/install/include
-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current
-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src
-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/tests -I.
-I/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src/ -D__ECOS
-iwithprefix include -MD src/fs-ecos.tmp
/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src/fs-ecos.c -quiet
-dumpbase fs-ecos.c -mtune=generic -auxbase-strip src/fs_jffs2_fs-ecos.o -g -O2
-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Wno-write-strings -version
-finline-limit=7000 -ffunction-sections -fdata-sections -fno-exceptions -o
/tmp/ccqiuDAk.s
ignoring duplicate directory
"/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src/"
#include "..." search starts here:
#include <...> search starts here:
 /home/lunn/eCos/work/install/include
 /home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current
 /home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src
 /home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/tests
 .
 /usr/lib/gcc/i486-linux-gnu/4.3.3/include
End of search list.
GNU C (Debian 4.3.3-4) version 4.3.3 (i486-linux-gnu)
        compiled by GNU C version 4.3.3, GMP version 4.2.2, MPFR version 2.3.2.
warning: MPFR header version 2.3.2 differs from library version 2.4.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 8efd654c3d1434d77fbe6944a4fb1293
In file included from /home/lunn/eCos/work/install/include/dirent.h:63,
                 from
/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src/os-ecos.h:36,
                 from
/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src/nodelist.h:25,
                 from
/home/lunn/eCos/anoncvs-clean/packages/fs/jffs2/current/src/fs-ecos.c:16:
/home/lunn/eCos/work/install/include/limits.h:221:26: error: limits.h: No such
file or directory

Note that the fixed-includes search path has been dropped by the compiler, and
this is where the compilers limits.h lives.

Where as for a file from fatfs:

fs/fat/current$ gcc -v -c  -I/home/lunn/eCos/work/install/include
-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current
-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src
-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/tests -I.
-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src/
-finline-limit=7000 -Wall -Wpointer-arith -Wstrict-prototypes -Wundef 
-Wno-write-strings -g -O2 -ffunction-sections -fdata-sections  -fno-exceptions
-Wp,-MD,src/fatfs_ncache.tmp -o src/fs_fat_fatfs_ncache.o
/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src/fatfs_ncache.c
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.3-4'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3
--program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
--enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic
--enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu
--target=i486-linux-gnu
Thread model: posix
gcc version 4.3.3 (Debian 4.3.3-4) 
COLLECT_GCC_OPTIONS='-v' '-c' '-I/home/lunn/eCos/work/install/include'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/tests' '-I.'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src/'
'-finline-limit=7000' '-Wall' '-Wpointer-arith' '-Wstrict-prototypes' '-Wundef'
'-Wno-write-strings' '-g' '-O2' '-ffunction-sections' '-fdata-sections'
'-fno-exceptions' '-o' 'src/fs_fat_fatfs_ncache.o' '-mtune=generic'
 /usr/lib/gcc/i486-linux-gnu/4.3.3/cc1 -quiet -v
-I/home/lunn/eCos/work/install/include
-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current
-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src
-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/tests -I.
-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src/ -MD
src/fatfs_ncache.tmp
/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src/fatfs_ncache.c -quiet
-dumpbase fatfs_ncache.c -mtune=generic -auxbase-strip
src/fs_fat_fatfs_ncache.o -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes
-Wundef -Wno-write-strings -version -finline-limit=7000 -ffunction-sections
-fdata-sections -fno-exceptions -o /tmp/ccCR8ehd.s
ignoring nonexistent directory "/usr/local/include/i486-linux-gnu"
ignoring nonexistent directory
"/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/include"
ignoring nonexistent directory "/usr/include/i486-linux-gnu"
ignoring duplicate directory
"/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src/"
#include "..." search starts here:
#include <...> search starts here:
 /home/lunn/eCos/work/install/include
 /home/lunn/eCos/anoncvs-clean/packages/fs/fat/current
 /home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src
 /home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/tests
 .
 /usr/local/include
 /usr/lib/gcc/i486-linux-gnu/4.3.3/include
 /usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed
 /usr/include
End of search list.
GNU C (Debian 4.3.3-4) version 4.3.3 (i486-linux-gnu)
        compiled by GNU C version 4.3.3, GMP version 4.2.2, MPFR version 2.3.2.
warning: MPFR header version 2.3.2 differs from library version 2.4.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 8efd654c3d1434d77fbe6944a4fb1293
COLLECT_GCC_OPTIONS='-v' '-c' '-I/home/lunn/eCos/work/install/include'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/tests' '-I.'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src/'
'-finline-limit=7000' '-Wall' '-Wpointer-arith' '-Wstrict-prototypes' '-Wundef'
'-Wno-write-strings' '-g' '-O2' '-ffunction-sections' '-fdata-sections'
'-fno-exceptions' '-o' 'src/fs_fat_fatfs_ncache.o' '-mtune=generic'
 as -V -Qy -o src/fs_fat_fatfs_ncache.o /tmp/ccCR8ehd.s
GNU assembler version 2.19.1 (i486-linux-gnu) using BFD version (GNU Binutils
for Debian) 2.19.1
COMPILER_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-c' '-I/home/lunn/eCos/work/install/include'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/tests' '-I.'
'-I/home/lunn/eCos/anoncvs-clean/packages/fs/fat/current/src/'
'-finline-limit=7000' '-Wall' '-Wpointer-arith' '-Wstrict-prototypes' '-Wundef'
'-Wno-write-strings' '-g' '-O2' '-ffunction-sections' '-fdata-sections'
'-fno-exceptions' '-o' 'src/fs_fat_fatfs_ncache.o' '-mtune=generic'

is fixed-includes is still listed.

I also tried compiling fs-ecos.c with gcc-4.[012] and they work. The only
version which breaks is 4.3


-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]