bootstrap/5872: gcc-20020304 bootstrap failure on IBM SP/2 AIX 4.3: ld reports TOC overflow
Nelson H. F. Beebe
beebe@math.utah.edu
Thu Mar 7 09:26:00 GMT 2002
>Number: 5872
>Category: bootstrap
>Synopsis: gcc-20020304 bootstrap failure on IBM SP/2 AIX 4.3: ld reports TOC overflow
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Mar 07 09:26:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Nelson H. F. Beebe
>Release: 3.1 20020304 (prerelease)
>Organization:
Department of Mathematics, University of Utah
>Environment:
IBM SP2 (166 MHz); AIX 4.3.2.0
% uname -a
AIX sp-i 3 4 000152774C00
% oslevel
4.3.2.0
% cc -V
...
VisualAge C++ Professional / C for AIX Compiler, Version 5
...
host: powerpc-ibm-aix4.3.2.0
build: powerpc-ibm-aix4.3.2.0
target: powerpc-ibm-aix4.3.2.0
configured with: ../gcc-20020304/configure --prefix=/usr/local/test --enable-cpplib --enable-libgcj --enable-shared --enable-version-specific-runtime-libs --with-local-prefix=/usr/local --enable-threads
>Description:
gcc has become complex enough that the default 64KB TOC size is
inadequate, causing a link failure during the bootstrap process:
gcc -DIN_GCC -g -W -Wall -Wwrite-strings -Wstrict-prototypes \
-Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long \
-DHAVE_CONFIG_H -o cc1 \ c-parse.o c-lang.o attribs.o \
c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o \
c-aux-info.o c-common.o c-format.o c-semantics.o \
c-objc-common.o libcpp.a main.o libbackend.a ./intl/libintl.a \
-liconv ../libiberty/libiberty.a
ld: 0711-781 ERROR: TOC overflow. TOC size: 73584 Maximum size: 65536
collect2: ld returned 12 exit status
make[2]: *** [cc1] Error 1
IBM's manual pages contains this commentary:
% man ld
...
Options (-bOptions)
The following values are possible for the Options variable of the -b flag. You
can list more than one option after the -b flag, separating them with a single
blank.
...
bigtoc Generates extra code if the size of the table of contents (TOC) is
greater than 64KB. Extra code is needed for every reference to a TOC symbol that
cannot be addressed with a 16-bit offset. Because a program containing generated
code may have poor performance, you should reduce the number of TOC entries
needed by the program before using this option. The default is the nobigtoc
option.
This build was bootstrapped with gcc-2.95.3.
I then made a second attempt using the native cc; it too failed, but
differently; that problem will be reported separately.
>How-To-Repeat:
../gcc-20020304/configure \
--prefix=/usr/local/test \
--enable-cpplib \
--enable-libgcj \
--enable-shared \
--enable-version-specific-runtime-libs \
--with-local-prefix=/usr/local \
--enable-threads && \
make bootstrap
>Fix:
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- Center for Scientific Computing FAX: +1 801 585 1640, +1 801 581 4148 -
- University of Utah Internet e-mail: beebe@math.utah.edu -
- Department of Mathematics, 110 LCB beebe@acm.org beebe@computer.org -
- 155 S 1400 E RM 233 beebe@ieee.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe -
-------------------------------------------------------------------------------
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list