install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX etc.

* doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
	etc. spelling.
	(Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
	Added Tru64 UNIX V5.1 bootstrap hints.
	(Specific, alpha*-*-osf*): Removed old section, obsolete.

From-SVN: r43402
This commit is contained in:
Rainer Orth 2001-06-15 17:35:48 +00:00 committed by Rainer Orth
parent e15ed7908c
commit f254110619
2 changed files with 30 additions and 54 deletions

View File

@ -1,3 +1,11 @@
2001-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
etc. spelling.
(Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
Added Tru64 UNIX V5.1 bootstrap hints.
(Specific, alpha*-*-osf*): Removed old section, obsolete.
2001-06-15 Andreas Jaeger <aj@suse.de> 2001-06-15 Andreas Jaeger <aj@suse.de>
* doc/install.texi (Specific): Mention that glibc cannot be * doc/install.texi (Specific): Mention that glibc cannot be

View File

@ -33,7 +33,7 @@
@settitle Installing GCC: Binaries @settitle Installing GCC: Binaries
@end ifset @end ifset
@comment $Id: install.texi,v 1.26 2001/06/15 07:18:55 ljrittle Exp $ @comment $Id: install.texi,v 1.27 2001/06/15 16:41:04 aj Exp $
@c Copyright (C) 2001 Free Software Foundation, Inc. @c Copyright (C) 2001 Free Software Foundation, Inc.
@c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
@ -1177,8 +1177,6 @@ GNU Compiler Collection on your machine.
@item @item
@uref{#alpha*-*-*,,alpha*-*-*} @uref{#alpha*-*-*,,alpha*-*-*}
@item @item
@uref{#alpha-*-osf1,,alpha-*-osf1}
@item
@uref{#alpha*-dec-osf*,,alpha*-dec-osf*} @uref{#alpha*-dec-osf*,,alpha*-dec-osf*}
@item @item
@uref{#arc-*-elf,,arc-*-elf} @uref{#arc-*-elf,,arc-*-elf}
@ -1434,8 +1432,8 @@ AMD Am29050 used in a system running a variant of BSD Unix.
This section contains general configuration information for all This section contains general configuration information for all
alpha-based platforms using ELF (in particular, ignore this section for alpha-based platforms using ELF (in particular, ignore this section for
OSF and tru64). In addition to reading this section, please read all DEC OSF/1, Digital UNIX and Tru64 UNIX). In addition to reading this
other sections that match your target. section, please read all other sections that match your target.
We require binutils 2.11.1 (as of yet unreleased), binutils with We require binutils 2.11.1 (as of yet unreleased), binutils with
@samp{binutils-2_11-branch} tag after May 31, 2001 (as taken below), or newer. @samp{binutils-2_11-branch} tag after May 31, 2001 (as taken below), or newer.
@ -1463,10 +1461,26 @@ options to point into the prefix used above.
</p> </p>
<hr> <hr>
@end html @end html
@heading @anchor{alpha-*-osf1}alpha-*-osf1 @heading @anchor{alpha*-dec-osf*}alpha*-dec-osf*
Systems using processors that implement the DEC Alpha architecture and Systems using processors that implement the DEC Alpha architecture and
are running the DEC Unix (OSF/1) operating system, for example the DEC are running the DEC/Compaq Unix (DEC OSF/1, Digital UNIX, or Compaq
Alpha AXP systems.CC.) Tru64 UNIX) operating system, for example the DEC Alpha AXP systems.
In Tru64 UNIX V5.1, Compaq introduced a new assembler that does not
currently (2001-06-13) work with @command{mips-tfile}. As a workaround,
we need to use the old assembler, invoked via the barely documented
@option{-oldas} option. To bootstrap GCC, you either need to use the
Compaq C Compiler:
@example
% CC=cc @var{srcdir}/configure [@var{target}] [@var{options}]
@end example
or you can use a copy of GCC 2.95.3 or higher built on Tru64 UNIX V4.0:
@example
% CC=gcc -Wa,-oldas @var{srcdir}/configure [@var{target}] [@var{options}]
@end example
GNU CC writes a @samp{.verstamp} directive to the assembler output file GNU CC writes a @samp{.verstamp} directive to the assembler output file
unless it is built as a cross-compiler. It gets the version to use from unless it is built as a cross-compiler. It gets the version to use from
@ -1510,52 +1524,6 @@ To avoid this behavior, specify @option{-gstabs+} and use GDB instead of
DBX. DEC is now aware of this problem with the assembler and hopes to DBX. DEC is now aware of this problem with the assembler and hopes to
provide a fix shortly. provide a fix shortly.
@html
</p>
<hr>
@end html
@heading @anchor{alpha*-dec-osf*}alpha*-dec-osf*
If you install a shared libstdc++ and, when you link a non-trivial C++
program (for example, @file{gcc/testsuite/g++.other/delete3.C}),
the linker reports a couple of errors about multiply-defined symbols
(for example, @code{nothrow}, @code{__throw} and
@code{terminate(void)}), you've probably got a linker bug, for
which there's no known fix. The officially recommended work-around is
to remove the shared libstdc++.
An alternative solution is to arrange that all symbols from
@code{libgcc} get copied to the shared @code{libstdc++};
see detailed solution below. (Surprising as it may seem, this does
indeed fix the problem!) @emph{Beware} that this may bring you
binary-compatibility problems in the future, if you don't use the same
work-around next time you build @code{libstdc++}: if programs
start to depend on @code{libstdc++} to provide symbols that used
to be only in @code{libgcc}, you must arrange that
@code{libstdc++} keeps providing them, otherwise the programs
will have to be relinked.
The magic spell is to add @option{-Wl,-all,-lgcc,-none} to the
definition of macro @code{SHDEPS} in
@file{libstdc++/config/dec-osf.ml} @emph{before}
@file{alpha*-dec-osf*/libstdc++/Makefile} is created (a
@uref{dec-osf-shlibstdc++.patch,,patch}
that does just that is available). If the Makefile already exists, run
@file{./config.status} within directory
@file{alpha*-dec-osf*/libstdc++} (and
@file{alpha*-dec-osf*/ieee/libstdc++}, if it also exists).
Remove any existing @file{libstdc++.so*} from such directories,
and run @samp{make all-target-libstdc++} in the top-level
directory, then @samp{make install-target-libstdc++}.
If you have already removed the build tree, you may just remove
@file{libstdc++.so.2.10.0} from the install tree and re-create
it with the command
@samp{gcc -shared -o libstdc++.so.2.10.0 -Wl,-all,-lstdc++,-lgcc,-none -lm}.
If the @file{ieee}
sub-directory exists, repeat this command in it, with the additional
flag @option{-mieee}.
@html @html
</p> </p>
<hr> <hr>