On 31/01/2010 12:54, Pedro Alves wrote: > On Sunday 31 January 2010 12:32:21, Dave Korn wrote: >> I don't think it should be necessary to patch the build system, since it's >> already capable of doing the right thing (which is to create the private >> header and fixed syslimits), we need to understand why it isn't doing that. >> > > My guess is that with the options we're building gcc, > gcc isn't looking at ($tooldir)/includes for fixincludable headers, but > at ($tooldir)/sys-includes. So it just installs its own limits.h as if > the system doesn't have one already.
Yep, you can see it happening by cd'ing into the gcc/gcc/ build dir and running "rm stmp-* ; make": it happens here - > set -e; for ml in `cat fixinc_list`; do \ > sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`; \ > multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \ > fix_dir=include-fixed${multi_dir}; \ > if [ -f `echo > /opt/mingw32ce/lib/gcc/arm-mingw32ce/4.4.0/../../../../arm-mingw32ce/sys-include > | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`/limits.h ] ; then \ This if fails > cat /tmp/cegcc/cegcc/trunk/cegcc/src/gcc-4.4.0/gcc/limitx.h > /tmp/cegcc/cegcc/trunk/cegcc/src/gcc-4.4.0/gcc/glimits.h > /tmp/cegcc/cegcc/trunk/cegcc/src/gcc-4.4.0/gcc/limity.h > tmp-xlimits.h; \ > else \ > cat /tmp/cegcc/cegcc/trunk/cegcc/src/gcc-4.4.0/gcc/glimits.h > > tmp-xlimits.h; \ .. so we use the default template. > fi; \ > /bin/sh > /tmp/cegcc/cegcc/trunk/cegcc/src/gcc-4.4.0/gcc/../mkinstalldirs ${fix_dir}; \ > chmod a+rx ${fix_dir} || true; \ > rm -f ${fix_dir}/limits.h; \ > mv tmp-xlimits.h ${fix_dir}/limits.h; \ > chmod a+r ${fix_dir}/limits.h; \ > done > rm -f include-fixed/README > cp > /tmp/cegcc/cegcc/trunk/cegcc/src/gcc-4.4.0/gcc/../fixincludes/README-fixinc > include-fixed/README > chmod a+r include-fixed/README > echo timestamp > stmp-int-hdrs > I think we should be building gcc with > `--with-sysroot=${PREFIX}/arm-mingw32ce/' Just testing that in a non-bootstrap build of gcc only. > Might work to pass --with-headers=($tooldir)/includes to gcc too, but that > feels hackish. Yeh, don't like the look of that! > Oh, and the bootstrap gcc's headers get installed at the same > place as the final gcc. If the bootstrap gcc installs headers > the final gcc doesn't, we end up with stale headers installed. > We should be installing the bootstrap compiler in a staged > dir (or better, everything).. Yep, it would be a good idea to install the bootstrap compiler to a DESTDIR and then discard it altogether once it's been used. (However given that the bootstrap and final gcc are configured so similarly, I'm not sure whether any problems will actually have been arising in practice.) cheers, DaveK ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Cegcc-devel mailing list Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel