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]

[PATCH] Fix PR target/15082


PR/15082 was opened in reference to an apparent problem with the
PATH_MAX macro, but after some investigation I determined that
fixincludes was not being run when building cross compilers for (at
least) sparc-sun-solaris2.8, i386-pc-solaris2.8 and
sparc64-sun-solaris2.8.

With some guidance from Eric Botcazou, I tracked this down to what
seems to be a problem with the patch to Makefile.in rev 1.959 where a
new rule (install-gcc-tooldir) was added but never referenced.  It
looks like a diagnostic "sleep 1" command was left in instead of
being replaced by a recusive call to make that new rule.

When building the cross compiler, some elements of the installed tree
must be in place when the compiler is actually built. The
"sys-include" directory is one of these elements, but as it stands, it
cannot be found because the makefiles use an indirect path that
references another element of the installed tree which is not yet in
place. 

For example, on my install, the build is using indirect path #1
(below) which, after "make install", resolves to absolute path #2.
However, the "lib/gcc/sparc-sun-solaris2.8/3.4.0" part of the path has
is not created until the "make install" step, so the "sys-include"
directory is never found when building the compiler, so fixincludes
has no system headers to operate on, and as a result it issues a
warning about that fact and moves on with an absolute minimal set of
"fixed" headers.

1: /opt/gcc-3.4.0-cross/sparc-sun-solaris2.8/lib/gcc/sparc-sun-solaris2.8/3.4.0/../../../../sparc-sun-solaris2.8/sys-include
2: /opt/gcc-3.4.0-cross/sparc-sun-solaris2.8/sparc-sun-solaris2.8/sys-include

The unreferenced "install-gcc-tooldir" rule makes the direct prefix of
path #1 and, if called instead of "sleep 1", causes fixincludes to
work and the cross compilers to be built with the right fixed
headers.  

Using the attached patch, I have successfully built cross compilers
with properly fixed includes targeting sparc-sun-solaris2.8,
i386-pc-solaris2.8, and sparc64-sun-solaris2.8.
        
-- 
------------------------------------------------------------------
Brad Spencer - spencer@infointeractive.com - "It's quite nice..."
Systems Architect | InfoInterActive Corp. | A Canadian AOL Company

Attachment: gcc-3.4.0-cross-fixinc-sys-include.patch
Description: Text document

Attachment: gcc-3.4.0-cross-fixinc-sys-include.ChangeLog
Description: Text document


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