This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java 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: [JAVA] /bin/sh portability issues in gen-classlist.sh.in


On Fri, 7 Jul 2006, Eric Botcazou wrote:
> > The following patch, the first in a series, fixes some shell portability
> > issues building libjava using /bin/sh on Solaris.  As pointed out by
> > Andrew Pinski, I should probably simply use CONFIG_SHELL, however I
> > think I've managed to resolve all the remaining shell issues preventing
> > bootstraping mainline GCC on Solaris/x86 with the native /bin/sh.
>
> I think it's a lost cause, in my experience /bin/sh randomly fails to
> configure target libraries on Solaris.  I'll personally make no effort
> to support /bin/sh on Solaris even if your patches go in, i.e. I'll keep
> closing PRs related to the problem as invalid.

I'm reminded that the GCC Development Mission Statement, explicitly
states "to ensure that GCC ... works on multiple architectures and
diverse environments".  http://gcc.gnu.org/gccmission.html

I don't disagree that there might still be fundamental bugs in Solaris'
/bin/sh or even the kernel that ultimately make this task fruitless.
However, knowing that /bin/sh has been a bane of the GCC build system
for many years, I was surprised at how easy the port was.  GCC 3.4.3 built
out of the box, and mainline three stage bootstrapped the compilers and
built most of the runtime libraries only to fail in multilibed boehmgc
and libjava.  This even makes this issue a regression.


I regularly use CONFIG_SHELL on several platforms, but I suspect most
often for performance rather than for correctness, or to workaround
portability issue.

Running "what /bin/sh" on my Solaris/x86 box shows that the executable
is dated 1st October 2005.  Perhaps after nearly/over? ten years of
brokeness SUN's code is now stable enough for GCC to meet them half
way?

There is also a fundamental difference between the problems I'm fixing
and the issues you report (that I may just not have encountered yet).
Instability issues and missing POSIX support are bugs that should be
filed with SUN Microsystems.  But using command line options and
functionality not available in the tool being invoked are bugs in
GCC's build system.  The latter I can do something about myself,
and the former may get fixed sooner or later (perhaps already?).

Roger
--


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