------- Comment #6 from haubi at gentoo dot org  2007-09-28 12:52 -------
More analysis (solution (?) at the end):

Compared gmake's debug-output from powerpc-aix5.3 to x86-gentoo-linux:

x86-gentoo-linux:
<<<
Considering target file `build/genmodes'.
 File `build/genmodes' does not exist.
 Looking for an implicit rule for `build/genmodes'.
 Trying pattern rule with stem `modes'.
 Trying implicit prerequisite `build/genmodes.o'.
 Trying rule prerequisite `../build-i686-pc-linux-gnu/libiberty/libiberty.a'.
 Found an implicit rule for `build/genmodes'.
<<<

powerpc-aix5.3:
<<<
Considering target file `build/genmodes'.
 File `build/genmodes' does not exist.
 Looking for an implicit rule for `build/genmodes'.
 Trying pattern rule with stem `modes'.
 Trying implicit prerequisite `build/genmodes.o'.
 Trying rule prerequisite
`../../build-powerpc-ibm-aix5.3.0.0/libiberty/libiberty.a'.
 Trying pattern rule with stem `modes'.
 Trying implicit prerequisite `build/genmodes.o'.
 Trying rule prerequisite
`../../build-powerpc-ibm-aix5.3.0.0/libiberty/libiberty.a'.
 Looking for a rule with intermediate file
`../../build-powerpc-ibm-aix5.3.0.0/libiberty/libiberty.a'.
  Avoiding implicit rule recursion.
 No implicit rule found for `build/genmodes'.
<<<

gmake avoids matching 'build/gen%' because of not finding libiberty.a in
'../../build-powerpc-ibm-aix5.3.0.0/libiberty/'.

But on linux, libiberty.a is searched in
'../build-i686-pc-linux-gnu/libiberty/'

Now, 'libiberty.a' is searched using $(build_libobjdir).
build_libobjdir is set from this gcc/Makefile snippet:

<<<
ifeq ($(host_subdir),.)
build_objdir := ../$(build_subdir)
build_libobjdir := ../$(build_libsubdir)
else
build_objdir := ../../$(build_subdir)
build_libobjdir := ../../$(build_libsubdir)
endif
<<<

There's a difference in gcc/Makefile for $(host_subdir):

x86-gentoo-linux:
<<<
host_subdir=.
build_subdir=build-i686-pc-linux-gnu
build_libsubdir=build-i686-pc-linux-gnu
<<<

powerpc-aix5.3:
<<<
host_subdir=host_subdir=host-powerpc-ibm-aix5.3.0.0
build_subdir=build-powerpc-ibm-aix5.3.0.0
build_libsubdir=build-powerpc-ibm-aix5.3.0.0
<<<

Now found in gcc/configure some lines to determine 'host_subdir':
<<<
if ( test $srcdir = . && test -d gcc ) \
   || test -d $srcdir/../host-${host_noncanonical}; then
  host_subdir="host-${host_noncanonical}"
else
  host_subdir=.
fi
<<<

And indeed, there is a gcc-4.2.0/host-powerpc-ibm-aix5.3.0.0 (in sourcedir).
Although I'm pretty sure to not configure+make inside gcc's source dir, I've
started from fresh extracted sourcedir. Currently the build is running, but
'build/genmodes' is already built and successfully executed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32272

Reply via email to