[LLVMbugs] [Bug 8378] New: Cannot Build llvm-gcc-4.2-2.8 on Solaris/x86
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Thu Oct 14 08:52:04 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=8378
Summary: Cannot Build llvm-gcc-4.2-2.8 on Solaris/x86
Product: tools
Version: 2.8
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: normal
Priority: P
Component: llvm-gcc
AssignedTo: unassignedbugs at nondot.org
ReportedBy: spear at cse.lehigh.edu
CC: llvmbugs at cs.uiuc.edu
I am unable to build llvm-gcc-4.2-2.8 on Solaris/x86.
I successfully built llvm-gcc-4.2-2.7 and llvm-2.7 on Solaris/x86. I can also
build llvm-2.8 itself on Solaris/x86. The break occurs only when moving from
the released llvm-gcc-4.2-2.7 to llvm-gcc-4.2-2.8
Platform:
uname -a == SunOS 5.10 Generic_142901-12 i86pc i386 i86pc
Toolchain:
gcc 4.5.1
binutils 2.20.1
Configure invocation:
../llvm-gcc-4.2-2.8.source/configure
--prefix=/proj/spear0/dtmc_x86/llvm-2.8-gcc --program-prefix=llvm-
--enable-llvm=/proj/spear0/dtmc_x86/llvm --enable-languages=c,c++
--enable-checking --with-gnu-as --with-as=/proj/spear0/binutils-2.20.1/bin/as
--with-gnu-ld --with-ld=/proj/spear0/binutils-2.20.1/bin/ld
The specific error occurs when building libgcc2.c. I'm building using 'gmake'
(no -j flag).
<output>
/tmp/mfs/2.8/build/./gcc/xgcc -B/tmp/mfs/2.8/build/./gcc/
-B/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/bin/
-B/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/lib/ -isystem
/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/include -isystem
/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/sys-include -O2 -O2
-g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I.
-I../../llvm-gcc-4.2-2.8.source/gcc -I../../llvm-gcc-4.2-2.8.source/gcc/.
-I../../llvm-gcc-4.2-2.8.source/gcc/../include -I./../intl
-I../../llvm-gcc-4.2-2.8.source/gcc/../libcpp/include
-I../../llvm-gcc-4.2-2.8.source/gcc/../libdecnumber -I../libdecnumber
-I/proj/spear0/dtmc_x86/llvm/include -DL_mulxc3 -fvisibility=hidden
-DHIDE_EXPORTS -c ../../llvm-gcc-4.2-2.8.source/gcc/libgcc2.c -o
libgcc/./_mulxc3.o
../../llvm-gcc-4.2-2.8.source/gcc/libgcc2.c: In function '__mulxc3':
../../llvm-gcc-4.2-2.8.source/gcc/libgcc2.c:1855: internal compiler error:
Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://llvm.org/bugs/> for instructions.
</output>
Re-running gmake reproduces the error, and provides the following background
about gcc build progress:
<output>
[ -f stage_final ] || echo stage3 > stage_final
gmake[1]: Entering directory `/tmp/mfs/2.8/build'
gmake[2]: Entering directory `/tmp/mfs/2.8/build'
gmake[3]: Entering directory `/tmp/mfs/2.8/build'
rm -f stage_current
gmake[3]: Leaving directory `/tmp/mfs/2.8/build'
gmake[2]: Leaving directory `/tmp/mfs/2.8/build'
gmake[2]: Entering directory `/tmp/mfs/2.8/build'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/libiberty'
gmake[4]: Entering directory `/tmp/mfs/2.8/build/libiberty/testsuite'
gmake[4]: Nothing to be done for `all'.
gmake[4]: Leaving directory `/tmp/mfs/2.8/build/libiberty/testsuite'
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/libiberty'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/intl'
rm -f stamp-h1
/bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
test -f config.h || (rm -f stamp-h1 && gmake stamp-h1)
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/intl'
gmake[3]: Entering directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/libiberty'
gmake[4]: Entering directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/libiberty/testsuite'
gmake[4]: Nothing to be done for `all'.
gmake[4]: Leaving directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/libiberty/testsuite'
gmake[3]: Leaving directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/libiberty'
gmake[3]: Entering directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/fixincludes'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/fixincludes'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/libcpp'
test -f config.h || (rm -f stamp-h1 && gmake stamp-h1)
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/libcpp'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/libdecnumber'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/libdecnumber'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/gcc'
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/gcc'
gmake[2]: Leaving directory `/tmp/mfs/2.8/build'
gmake[2]: Entering directory `/tmp/mfs/2.8/build'
gmake[3]: Entering directory `/tmp/mfs/2.8/build'
rm -f stage_current
gmake[3]: Leaving directory `/tmp/mfs/2.8/build'
gmake[2]: Leaving directory `/tmp/mfs/2.8/build'
gmake[2]: Entering directory `/tmp/mfs/2.8/build'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/libiberty'
gmake[4]: Entering directory `/tmp/mfs/2.8/build/libiberty/testsuite'
gmake[4]: Nothing to be done for `all'.
gmake[4]: Leaving directory `/tmp/mfs/2.8/build/libiberty/testsuite'
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/libiberty'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/intl'
rm -f stamp-h1
/bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
test -f config.h || (rm -f stamp-h1 && gmake stamp-h1)
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/intl'
gmake[3]: Entering directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/libiberty'
gmake[4]: Entering directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/libiberty/testsuite'
gmake[4]: Nothing to be done for `all'.
gmake[4]: Leaving directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/libiberty/testsuite'
gmake[3]: Leaving directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/libiberty'
gmake[3]: Entering directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/fixincludes'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory
`/tmp/mfs/2.8/build/build-i386-pc-solaris2.10/fixincludes'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/libcpp'
test -f config.h || (rm -f stamp-h1 && gmake stamp-h1)
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/libcpp'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/libdecnumber'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/libdecnumber'
gmake[3]: Entering directory `/tmp/mfs/2.8/build/gcc'
gmake \
CFLAGS="-g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute
-fno-common " \
CONFIG_H="config.h auto-host.h
../../llvm-gcc-4.2-2.8.source/gcc/../include/ansidecl.h" \
MAKEOVERRIDES= \
-f libgcc.mk all
gmake[4]: Entering directory `/tmp/mfs/2.8/build/gcc'
gmake GCC_FOR_TARGET="/tmp/mfs/2.8/build/./gcc/xgcc -B/tmp/mfs/2.8/build/./gcc/
-B/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/bin/
-B/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/lib/ -isystem
/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/include -isystem
/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/sys-include " \
AR_FOR_TARGET="/usr/ccs/bin/ar" \
AR_CREATE_FOR_TARGET="/usr/ccs/bin/ar rc" \
AR_EXTRACT_FOR_TARGET="/usr/ccs/bin/ar x" \
AR_FLAGS_FOR_TARGET="" \
CC="/tmp/mfs/2.8/build/./prev-gcc/xgcc -B/tmp/mfs/2.8/build/./prev-gcc/
-B/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/bin/" CFLAGS="-g -O2
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wmissing-format-attribute -fno-common " \
BUILD_PREFIX="" \
BUILD_PREFIX_1="" \
LANGUAGES="" \
LIBGCC2_CFLAGS="-O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
" \
LIBGCC2_STATIC_CFLAGS="" \
MULTILIB_CFLAGS="" T= gmon.o crtbegin.o crtend.o
gmake[5]: Entering directory `/tmp/mfs/2.8/build/gcc'
gmake[5]: `crtend.o' is up to date.
gmake[5]: Leaving directory `/tmp/mfs/2.8/build/gcc'
/tmp/mfs/2.8/build/./gcc/xgcc -B/tmp/mfs/2.8/build/./gcc/
-B/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/bin/
-B/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/lib/ -isystem
/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/include -isystem
/proj/spear0/dtmc_x86/llvm-2.8-gcc/i386-pc-solaris2.10/sys-include -O2 -O2
-g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I.
-I../../llvm-gcc-4.2-2.8.source/gcc -I../../llvm-gcc-4.2-2.8.source/gcc/.
-I../../llvm-gcc-4.2-2.8.source/gcc/../include -I./../intl
-I../../llvm-gcc-4.2-2.8.source/gcc/../libcpp/include
-I../../llvm-gcc-4.2-2.8.source/gcc/../libdecnumber -I../libdecnumber
-I/proj/spear0/dtmc_x86/llvm/include -DL_mulxc3 -fvisibility=hidden
-DHIDE_EXPORTS -c ../../llvm-gcc-4.2-2.8.source/gcc/libgcc2.c -o
libgcc/./_mulxc3.o
../../llvm-gcc-4.2-2.8.source/gcc/libgcc2.c: In function '__mulxc3':
../../llvm-gcc-4.2-2.8.source/gcc/libgcc2.c:1855: internal compiler error:
Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://llvm.org/bugs/> for instructions.
gmake[4]: *** [libgcc/./_mulxc3.o] Error 1
gmake[4]: Leaving directory `/tmp/mfs/2.8/build/gcc'
gmake[3]: *** [stmp-multilib] Error 2
gmake[3]: Leaving directory `/tmp/mfs/2.8/build/gcc'
gmake[2]: *** [all-stage2-gcc] Error 2
gmake[2]: Leaving directory `/tmp/mfs/2.8/build'
gmake[1]: *** [stage2-bubble] Error 2
gmake[1]: Leaving directory `/tmp/mfs/2.8/build'
gmake: *** [all] Error 2
</output>
The bug also occurs when using gcc 4.4.1 on Solaris/x86. And even though the
exact error is "internal compiler error", which would imply a gcc bug, the fact
that both compilers can handle llvm-gcc-2.7-4.2 but not llvm-gcc-2.8-4.2
suggests that this has more to do with changes to llvm-gcc between the 2.7 and
2.8 releases.
Any advice would be greatly appreciated!
- Mike Spear
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list