Greetings.
> (1) When sgicc invokes "gcc -E" for the preprocessing step, do it as
> "gcc -E -U__GNUC__". This fixes the gawk build problem, since
>
> % env CC='sgicc -U__GNUC__' ./configure
>
> produces a Makefile that does not use -rdynamic.
There may be other GCC-specific symbols that should be undefined as well;
it's definitely worth checking the documentation.
> (2) Extend sgicc to recognize -rdynamic.
>
> Fix (1) is certainly the easiest, and will ensure that other
> dependencies on the symbol __GNU__ in configure scripts and inside
> source code will not be foiled by suggesting that a gcc extension is
> available, when in fact, the host compiler is completely different,
> and the extension is not there.
Nelson understates the case. The -rdynamic flag can't be the only part
of GCC that sgicc doesn't support. There are a slew of language extensions
that GNU code often makes use of --- properly ifdef-ed, of course --- and
defining __GNUC__ is just shouting a request for trouble.
Hmmm, I guess I just paraphrased what Nelson said, didn't I? Oh well.
:-)
> Fix (2) is less desirable, since leaving __GNUC__ defined can have
> other side effects, as noted in the previous paragraph. However, it
> still may be useful to add support for -rdynamic, possibly under a
> different name, provided __GNUC__ remains undefined.
The two issues are and should be treated orthogonally. Undefining __GNUC__
for sgicc should be done in any case, whether or not support for -rdynamic
is added.
Thanks!
Arnold Robbins
--
Arnold Robbins --- Pioneer Consulting Ltd. arnold@xxxxxxxxxx
P.O. Box 354 Home Phone: +972 8 979-0381 Fax: +1 603 761-6761
Nof Ayalon Cell Phone: +972 51 297-545 (See www.efax.com)
D.N. Shimshon 99785 Laundry increases exponentially in the
ISRAEL number of children. -- Miriam Robbins
|