This is the mail archive of the
ecos-bugs@sourceware.org
mailing list for the eCos project.
[Bug 1000685] isoinfra limits.h breaks with gcc 4.3.3/synth
- From: bugzilla-daemon at ecoscentric dot com
- To: ecos-bugs at ecos dot sourceware dot org
- Date: Sun, 22 Feb 2009 12:22:34 +0000
- Subject: [Bug 1000685] isoinfra limits.h breaks with gcc 4.3.3/synth
- References: <bug-1000685-13@http.bugs.ecos.sourceware.org/>
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.