Bug#56160: /usr/include/string.h cannot be included with gcc -traditional -O2
Package: libc6-dev
Version: 2.1.2-11
Severity: important
Try compiling fred.c below as follows and you get warning messages,
lots of them. In fact, the system grinds to a halt trying to include
files over and over again. Removing "-O2" or "-traditional" will make
the problem disappear. There are workarounds. Of course, removing
"-traditional" may not work on an older C program. Optimization
should be possible. Having the system grind to a halt with a simple
compile is a bad thing.
% cc -traditional -O2 -c fred.c | head
In file included from /usr/include/string.h:346,
from fred.c:1:
/usr/include/bits/string2.h:1104: macro or `#include' recursion too deep
/usr/include/bits/string2.h:1171: macro or `#include' recursion too deep
/usr/include/bits/string2.h:1171: macro or `#include' recursion too deep
...
fred.c:
#include <string.h>
main()
{
}
-- System Information
Debian Release: potato
Architecture: i386
Kernel: Linux laminaria 2.2.14 #1 Sat Jan 22 11:25:24 PST 2000 i686
Versions of packages libc6-dev depends on:
ii libc6 2.1.2-11 GNU C Library: Shared libraries an
Reply to: