This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Bugs in sysroot patches resulting in $(local_include)/include always searched, ../-expansion broken
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- To: drow at mvista dot com
- Cc: hans-peter dot nilsson at axis dot com, gcc-patches at gcc dot gnu dot org
- Date: Thu, 20 Feb 2003 17:24:43 +0100
- Subject: Re: Bugs in sysroot patches resulting in $(local_include)/include always searched, ../-expansion broken
> Date: Thu, 20 Feb 2003 10:16:01 -0500
> From: Daniel Jacobowitz <drow at mvista dot com>
> On Thu, Feb 20, 2003 at 04:09:41PM +0100, Hans-Peter Nilsson wrote:
> > Clues? Patches? Request for better report? I may eventually
> > find the bug, but clues to speed up the process are welcome and
> > my testing suffers in the meantime.
>
> Better report. Could you give me the output of gcc -v for 3.3-branch
Compiling fixunsdfsi is where it fails, so I'll show that.
First for 3.3 (beware, cutnpaste, with most trailing \\n edited
out I hope):
Command:
/mnt/misca2/builds/gcc33/bug2/gcc/xgcc -B/mnt/misca2/builds/gcc33/bug2/gcc/ -B/home/hp/work/axis/build/gcc3testprefix/cris-linux/bin/ -B/home/hp/work/axis/build/gcc3testprefix/cris-linux/lib/ -isystem /home/hp/work/axis/build/gcc3testprefix/cris-linux/include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I/home/hp/cvs_areas/combined/cvs_write33/gcc -I/home/hp/cvs_areas/combined/cvs_write33/gcc/. -I/home/hp/cvs_areas/combined/cvs_write33/gcc/config -I/home/hp/cvs_areas/combined/cvs_write33/gcc/../include -DL_fixunsdfsi -c /home/hp/cvs_areas/combined/cvs_write33/gcc/libgcc2.c -o libgcc/./_fixunsdfsi.o -v
Output:
Reading specs from /mnt/misca2/builds/gcc33/bug2/gcc/specs
Configured with: /home/hp/cvs_areas/combined/cvs_write33/configure --target=cris-linux --prefix=/home/hp/work/axis/build/gcc3testprefix
Thread model: posix
gcc version 3.3 20030216 (prerelease)
/mnt/misca2/builds/gcc33/bug2/gcc/cc1 -quiet -v -I. -I. -I/home/hp/cvs_areas/combined/cvs_write33/gcc -I/home/hp/cvs_areas/combined/cvs_write33/gcc/. -I/home/hp/cvs_areas/combined/cvs_write33/gcc/config -I/home/hp/cvs_areas/combined/cvs_write33/gcc/../include -iprefix /mnt/misca2/builds/gcc33/bug2/gcc/../lib/gcc-lib/cris-linux/3.3/ -isystem /mnt/misca2/builds/gcc33/bug2/gcc/include -isystem /home/hp/work/axis/build/gcc3testprefix/cris-linux/bin/include -isystem /home/hp/work/axis/build/gcc3testprefix/cris-linux/lib/include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -Dcris -DCRIS -DGNU_CRIS -D__cris__ -D__CRIS__ -D__GNU_CRIS__ -D__cris -D__CRIS -D__GNU_CRIS -D__CRIS_ABI_version=2 -D__arch_v10 -D__CRIS_arch_version=10 -Dlinux -Dunix -Asystem(unix) -Asystem(posix) -Acpu(cris) -Amachine(cris) -DIN_GCC -DCROSS_COMPILE -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -DL_fixunsdfsi -isystem /home/hp/work/axis/build/gcc3testprefix/cris-linux/in!
clude -isystem ./include /home/hp/cvs_areas/combined/cvs_write33/gcc/libgcc2.c -march=v10 -quiet -dumpbase libgcc2.c -auxbase-strip libgcc/./_fixunsdfsi.o -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -version -fPIC -o /usr/tmp/ccRkOKzI.s
ignoring nonexistent directory "/home/hp/work/axis/build/gcc3testprefix/cris-linux/bin/include"
ignoring nonexistent directory "/home/hp/work/axis/build/gcc3testprefix/cris-linux/lib/include"
ignoring nonexistent directory "/home/hp/work/axis/build/gcc3testprefix/cris-linux/include"
GNU C version 3.3 20030216 (prerelease) (cris-linux)
compiled by GNU C version 2.95.3 20010315 (release).
ignoring nonexistent directory "/mnt/misca2/builds/gcc33/bug2/lib/gcc-lib/cris-linux/3.3/include"
ignoring nonexistent directory "/mnt/misca2/builds/gcc33/bug2/lib/gcc-lib/cris-linux/3.3/../../../../cris-linux/sys-include"
ignoring nonexistent directory "/mnt/misca2/builds/gcc33/bug2/lib/gcc-lib/cris-linux/3.3/../../../../cris-linux/include"
ignoring nonexistent directory "/home/hp/work/axis/build/gcc3testprefix/include"
ignoring nonexistent directory "/home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris-linux/3.3/include"
ignoring nonexistent directory "/home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris-linux/3.3/../../../../cris-linux/include
"
ignoring duplicate directory "."
ignoring duplicate directory "/home/hp/cvs_areas/combined/cvs_write33/gcc"
ignoring duplicate directory "include"
#include "..." search starts here:
#include <...> search starts here:
.
/home/hp/cvs_areas/combined/cvs_write33/gcc
/home/hp/cvs_areas/combined/cvs_write33/gcc/config
/home/hp/cvs_areas/combined/cvs_write33/include
/mnt/misca2/builds/gcc33/bug2/gcc/include
/home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris-linux/3.3/../../../../cris-linux/sys-include
End of search list.
/home/hp/work/axis/build/gcc3testprefix/cris-linux/bin/as --traditional-format -v --em=criself --no-underscore --pic -o libgcc/./_fixunsdfsi.o /usr/tmp/ccRkOKzI.s
GNU assembler version 2.12.1 (cris) using BFD version 2.12.1
> and HEAD?
With "&& !defined (TARGET_SYSTEM_ROOT)" in cppdefaults.h taken
out, I assume. Otherwise it picks up headers from
/usr/local/include. With that change:
Command:
/mnt/miscb3/builds2/bug2/gcc/xgcc -B/mnt/miscb3/builds2/bug2/gcc/ -B/home/hp/work/axis/build/gcc3testprefix/cris-linux/bin/ -B/home/hp/work/axis/build/gcc3testprefix/cris-linux/lib/ -isystem /home/hp/work/axis/build/gcc3testprefix/cris-linux/include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I/home/hp/cvs_areas/combined/cvs_write/gcc -I/home/hp/cvs_areas/combined/cvs_write/gcc/. -I/home/hp/cvs_areas/combined/cvs_write/gcc/config -I/home/hp/cvs_areas/combined/cvs_write/gcc/../include -DL_fixunsdfsi -c /home/hp/cvs_areas/combined/cvs_write/gcc/libgcc2.c -o libgcc/./_fixunsdfsi.o -v
Output, in which you see the failure mode:
Reading specs from /mnt/miscb3/builds2/bug2/gcc/specs
Configured with: /home/hp/cvs_areas/combined/cvs_write/configure --target=cris-linux --prefix=/home/hp/work/axis/build/gcc3testprefix
Thread model: posix
gcc version 3.4 20030219 (experimental)
/mnt/miscb3/builds2/bug2/gcc/cc1 -quiet -v -I. -I. -I/home/hp/cvs_areas/combined/cvs_write/gcc -I/home/hp/cvs_areas/combined/cvs_write/gcc/. -I/home/hp/cvs_areas/combined/cvs_write/gcc/config -I/home/hp/cvs_areas/combined/cvs_write/gcc/../include -iprefix /mnt/miscb3/builds2/bug2/gcc/../lib/gcc-lib/cris-linux/3.4/ -isystem /mnt/miscb3/builds2/bug2/gcc/include -isystem /home/hp/work/axis/build/gcc3testprefix/cris-linux/bin/include -isystem /home/hp/work/axis/build/gcc3testprefix/cris-linux/lib/include -D__GNUC__=3 -D__GNUC_MINOR__=4 -D__GNUC_PATCHLEVEL__=0 -Dcris -DCRIS -DGNU_CRIS -D__cris__ -D__CRIS__ -D__GNU_CRIS__ -D__cris -D__CRIS -D__GNU_CRIS -D__CRIS_ABI_version=2 -D__arch_v10 -D__CRIS_arch_version=10 -Dlinux -Dunix -Asystem(unix) -Asystem(posix) -Acpu(cris) -Amachine(cris) -DIN_GCC -DCROSS_COMPILE -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -DL_fixunsdfsi -isystem /home/hp/work/axis/build/gcc3testprefix/cris-linux/include -isystem ./includ!
e /home/hp/cvs_areas/combined/cvs_write/gcc/libgcc2.c -march=v10 -quiet -dumpbase libgcc2.c -auxbase-strip libgcc/./_fixunsdfsi.o -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -version -fPIC -o /usr/tmp/ccLaSv0R.s
ignoring nonexistent directory "/home/hp/work/axis/build/gcc3testprefix/cris-linux/bin/include"
ignoring nonexistent directory "/home/hp/work/axis/build/gcc3testprefix/cris-linux/lib/include"
ignoring nonexistent directory "/home/hp/work/axis/build/gcc3testprefix/cris-linux/include"
GNU C version 3.4 20030219 (experimental) (cris-linux)
compiled by GNU C version 2.95.3 20010315 (release).
ignoring nonexistent directory "/mnt/miscb3/builds2/bug2/lib/gcc-lib/cris-linux/3.4/include"
ignoring nonexistent directory "/mnt/miscb3/builds2/bug2/lib/gcc-lib/cris-linux/3.4/../../../../cris-linux/sys-include"
ignoring nonexistent directory "/mnt/miscb3/builds2/bug2/lib/gcc-lib/cris-linux/3.4/../../../../cris-linux/include"
ignoring duplicate directory "."
ignoring duplicate directory "/home/hp/cvs_areas/combined/cvs_write/gcc"
ignoring duplicate directory "include"
#include "..." search starts here:
#include <...> search starts here:
.
/home/hp/cvs_areas/combined/cvs_write/gcc
/home/hp/cvs_areas/combined/cvs_write/gcc/config
/home/hp/cvs_areas/combined/cvs_write/include
/mnt/miscb3/builds2/bug2/gcc/include
End of search list.
In file included from /mnt/miscb3/builds2/bug2/gcc/include/syslimits.h:7,
from /mnt/miscb3/builds2/bug2/gcc/include/limits.h:11,
from /home/hp/cvs_areas/combined/cvs_write/gcc/libgcc2.c:1336:
/mnt/miscb3/builds2/bug2/gcc/include/limits.h:122:75: no include path in which to find limits.h
> You said thre were "a couple of symlinks" involved - what
> others?
Nothing I can see would be of interest. Did you change
../-symlink handling too? Here's an edited ls -lR
/home/hp/work/axis/build/gcc3testprefix. I edited out some
stuff. I'm not going to send the raw version, it's just too
cruddy. I'll rather look at your sysroot patches to see if I
can spot the bug.
/home/hp/work/axis/build/gcc3testprefix:
total 12
drwxr-xr-x 3 hp hp 4096 Sep 15 2001 bin
lrwxrwxrwx 1 hp hp 30 Jan 10 22:00 cris-axis-aout -> /usr/local/cris/cris-axis-aout
lrwxrwxrwx 1 hp hp 29 Jan 10 22:00 cris-axis-elf -> /usr/local/cris/cris-axis-elf
lrwxrwxrwx 1 hp hp 35 Jan 10 22:00 cris-axis-linux-gnu -> /usr/local/cris/cris-axis-linux-gnu
lrwxrwxrwx 1 hp hp 29 Jan 13 03:16 cris-elf -> /usr/local/cris/cris-axis-elf
lrwxrwxrwx 1 hp hp 35 Jan 13 03:16 cris-linux -> /usr/local/cris/cris-axis-linux-gnu
drwxr-xr-x 3 hp hp 4096 Feb 20 15:31 lib
/home/hp/work/axis/build/gcc3testprefix/bin:
total 20
lrwxrwxrwx 1 hp hp 64 Sep 13 2001 ar-cris -> /home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris/2.96/ar
lrwxrwxrwx 1 hp hp 64 Sep 13 2001 as-cris -> /home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris/2.96/as
lrwxrwxrwx 1 hp hp 64 Sep 13 2001 cris-ld -> /home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris/2.96/ld
lrwxrwxrwx 1 hp hp 64 Sep 13 2001 cris-nm -> /home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris/2.96/nm
*** Similar unused binutils links edited out.
/home/hp/work/axis/build/gcc3testprefix/lib:
total 4
drwxr-xr-x 5 hp hp 4096 Sep 23 2001 gcc-lib
/home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib:
total 12
drwxr-xr-x 4 hp hp 4096 Jan 14 05:18 cris
drwxrwxr-x 2 hp hp 4096 Jan 10 21:58 cris-aout
lrwxrwxrwx 1 hp hp 4 Sep 22 2001 cris-elf -> cris
drwxrwxr-x 3 hp hp 4096 Jan 14 03:12 cris-linux
/home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris:
*** Nah, that's not used for cris-axis-linux-gnu and full of crud.
/home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris-aout:
*** Ditto
/home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris-linux:
total 4
drwxrwxr-x 2 hp hp 4096 Jan 14 03:12 3.1
lrwxrwxrwx 1 hp hp 3 Dec 17 10:25 3.2.3 -> 3.1
lrwxrwxrwx 1 hp hp 3 Dec 17 10:25 3.3 -> 3.1
lrwxrwxrwx 1 hp hp 3 Dec 17 10:25 3.4 -> 3.1
*** more symlinks
lrwxrwxrwx 1 hp hp 35 Jan 14 02:16 as -> ../../../cris-axis-linux-gnu/bin/as
lrwxrwxrwx 1 hp hp 35 Jan 14 02:16 ld -> ../../../cris-axis-linux-gnu/bin/ld
lrwxrwxrwx 1 hp hp 35 Jan 14 02:16 nm -> ../../../cris-axis-linux-gnu/bin/nm
lrwxrwxrwx 1 hp hp 38 Jan 14 02:16 strip -> ../../../cris-axis-linux-gnu/bin/strip
lrwxrwxrwx 1 hp hp 40 Jan 14 03:01 sys-include -> ../../../cris-axis-linux-gnu/sys-include
/home/hp/work/axis/build/gcc3testprefix/lib/gcc-lib/cris-linux/3.1:
total 0
> For instance do you use a symlink to the gcc binary?
No, that's exactly the kind of thing I want to avoid. :-)
As seen above, just a relatively-empty cruddy prefix tree with
symlinks to binutils, libraries and header files, avoiding
anything explicit or implicit paths to anything installed by
gcc. (For the audience: No, I don't recommend it, so I don't
want to document it in some howto -- people should start using
sysroot instead. :-)
brgds, H-P