This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

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


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