Subject: Re: GCC 3.3.3 import sometime soon
To: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
From: Paul Mather <paul@gromit.dlib.vt.edu>
List: port-alpha
Date: 03/05/2004 10:25:18
On Thu, Mar 04, 2004 at 10:31:42PM +0100, Jochen Kunz wrote:

=> On Tue, 24 Feb 2004 23:51:59 +1100
=> matthew green <mrg@eterna.com.au> wrote:
=> 
=> > GCC 3.3.3 proper is out so i'll be importing it sometime in the next
=> > few days when i find the cycles..
=> It seems this has broken native buils on alpha. src cvs updated today.
=> Build breaks on an Alpha PWS 500au runing a 1.6ZH userland with 1.6ZK
=> kernel. This happens while building the tools. The same source on a i386
=> runing 1.6-release build a release successfully.

I don't know about broken builds, but I am getting problems building
packages with the native GCC 3.3.3.  For example, when trying to build
lang/python23-pth, I get the following on my NetBSD/alpha
1.6ZK-CURRENT system:

>>>>>
bash-2.05b# make
===> Checking for vulnerabilities in python23-pth-2.3.3nb1
=> Checksum OK for Python-2.3.3.tgz.
===> Extracting for python23-pth-2.3.3nb1
==========================================================================
The following variables will affect the build process of this package,
python23-pth-2.3.3nb1.  Their current value is shown below:

        * SSLBASE = /usr
        * SSLCERTS = /etc/openssl/certs

You may want to abort the process now with CTRL+C and change their value
before continuing.  Be sure to run `/usr/bin/make clean' after the changes.
==========================================================================
/bin/mv /usr/pkgsrc/lang/python23-pth/work/Python-2.3.3/Tools/scripts/pydoc /usr/pkgsrc/lang/python23-pth/work/Python-2.3.3/Tools/scripts/pydoc2p3
===> Patching for python23-pth-2.3.3nb1
===> Applying pkgsrc patches for python23-pth-2.3.3nb1
=> Fixing paths for db 1.85.
===> Overriding tools for python23-pth-2.3.3nb1
===> Buildlinking for python23-pth-2.3.3nb1
===> Configuring for python23-pth-2.3.3nb1
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking MACHDEP... netbsd1
checking EXTRAPLATDIR... 
checking for --without-gcc... no
checking for --with-cxx=<compiler>... no
checking for c++... g++
checking for C++ compiler default output... configure: error: C++ compiler cannot create executables
See `config.log' for more details.
*** Error code 77

Stop.
make: stopped in /usr/pkgsrc/lang/python23-pth
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/lang/python23-pth
bash-2.05b# uname -a
NetBSD chumby.dlib.vt.edu 1.6ZK NetBSD 1.6ZK (CHUMBY) #3: Sat Feb 28 12:32:40 EST 2004  paul@chumby.dlib.vt.edu:/usr/obj/sys/arch/alpha/compile/CHUMBY alpha
bash-2.05b# cat work/Python-2.3.3/config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by python configure 2.3, which was
generated by GNU Autoconf 2.57.  Invocation command line was

  $ ./configure --enable-shared OPT=-O2 -mieee -I/usr/pkg/include --host=alpha--netbsd --prefix=/usr/pkg

## --------- ##
## Platform. ##
## --------- ##

hostname = chumby.dlib.vt.edu
uname -m = alpha
uname -r = 1.6ZK
uname -s = NetBSD
uname -v = NetBSD 1.6ZK (CHUMBY) #3: Sat Feb 28 12:32:40 EST 2004  paul@chumby.dlib.vt.edu:/usr/obj/sys/arch/alpha/compile/CHUMBY

/usr/bin/uname -p = alpha
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
hostinfo               = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/pkgsrc/lang/python23-pth/work/.tools/bin
PATH: /usr/pkgsrc/lang/python23-pth/work/.buildlink/bin
PATH: /usr/pkgsrc/lang/python23-pth/work/.gcc/bin
PATH: /sbin
PATH: /usr/sbin
PATH: /bin
PATH: /usr/bin
PATH: /usr/pkg/sbin
PATH: /usr/pkg/bin
PATH: /usr/X11R6/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /home/paul/bin
PATH: /usr/pkg/bin
PATH: /usr/X11R6/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1402: checking MACHDEP
configure:1512: result: netbsd1
configure:1518: checking EXTRAPLATDIR
configure:1533: result: 
configure:1546: checking for --without-gcc
configure:1595: result: no
configure:1601: checking for --with-cxx=<compiler>
configure:1622: result: no
configure:1641: checking for c++
configure:1667: result: g++
configure:1708: checking for C++ compiler default output
configure:1711: g++ -O2 -mieee -I/usr/pkg/include -I/usr/pkg/include -L/usr/pkg/lib -Wl,-R/usr/pkg/lib conftest.cc  >&5
/usr/lib/libstdc++.so: undefined reference to `_Unwind_GetIP'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_Resume_or_Rethrow'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_GetRegionStart'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_Resume'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_DeleteException'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_RaiseException'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_SetIP'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_GetTextRelBase'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_GetLanguageSpecificData'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_SetGR'
/usr/lib/libstdc++.so: undefined reference to `_Unwind_GetDataRelBase'
configure:1714: $? = 1
configure: failed program was:
| #line 1688 "configure"
| /* confdefs.h.  */
| 
| #define _GNU_SOURCE 1
| #define _NETBSD_SOURCE 1
| #define __BSD_VISIBLE 1
| #define _XOPEN_SOURCE 600
| #define _XOPEN_SOURCE_EXTENDED 1
| #define _POSIX_C_SOURCE 200112L
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:1752: error: C++ compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CC_set=set
ac_cv_env_CC_value=gcc
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-O2 -mieee -I/usr/pkg/include'
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value=-I/usr/pkg/include
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value='-L/usr/pkg/lib -Wl,-R/usr/pkg/lib'
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=alpha--netbsd
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_prog_CXX=g++

## ----------------- ##
## Output variables. ##
## ----------------- ##

AR=''
BASECFLAGS=''
BLDLIBRARY=''
BLDSHARED=''
BUILDEXEEXT=''
CC='gcc'
CCSHARED=''
CFLAGS='-O2 -mieee -I/usr/pkg/include'
CFLAGSFORSHARED=''
CONFIG_ARGS=''--enable-shared' 'OPT=-O2 -mieee -I/usr/pkg/include' '--host=alpha--netbsd' '--prefix=/usr/pkg' 'CC=gcc' 'CFLAGS=-O2 -mieee -I/usr/pkg/include' 'CPPFLAGS=-I/usr/pkg/include' 'LDFLAGS=-L/usr/pkg/lib -Wl,-R/usr/pkg/lib' 'host_alias=alpha--netbsd''
CPP=''
CPPFLAGS='-I/usr/pkg/include'
CXX='g++'
DEFS=''
DLINCLDIR=''
DLLLIBRARY=''
DYNLOADFILE=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
EXTRAMACHDEPPATH=''
EXTRAPLATDIR=''
HAVE_GETHOSTBYNAME=''
HAVE_GETHOSTBYNAME_R=''
HAVE_GETHOSTBYNAME_R_3_ARG=''
HAVE_GETHOSTBYNAME_R_5_ARG=''
HAVE_GETHOSTBYNAME_R_6_ARG=''
INSTALL_DATA='install -c -o root -g wheel -m 444'
INSTALL_PROGRAM='install -c -s -o root -g wheel -m 555'
INSTALL_SCRIPT='install -c -o root -g wheel -m 555'
INSTSONAME=''
LDFLAGS='-L/usr/pkg/lib -Wl,-R/usr/pkg/lib'
LDLAST=''
LDLIBRARY=''
LDLIBRARYDIR=''
LDSHARED=''
LIBC=''
LIBM=''
LIBOBJS=''
LIBRARY=''
LIBS=''
LIBTOOL_CRUFT=''
LINKCC=''
LINKFORSHARED=''
LN=''
LTLIBOBJS=''
MACHDEP='netbsd1'
MACHDEP_OBJS=''
MAINOBJ='python.o'
OBJEXT=''
OPT='-O2 -mieee -I/usr/pkg/include'
PACKAGE_BUGREPORT=''
PACKAGE_NAME='python'
PACKAGE_STRING='python 2.3'
PACKAGE_TARNAME='python'
PACKAGE_VERSION='2.3'
PATH_SEPARATOR=':'
PYTHONFRAMEWORK=''
PYTHONFRAMEWORKDIR='no-framework'
PYTHONFRAMEWORKINSTALLDIR=''
PYTHONFRAMEWORKPREFIX=''
RANLIB=''
RUNSHARED=''
SGI_ABI=''
SHELL='/bin/sh'
SHLIBS=''
SIGNAL_OBJS=''
SO=''
SOVERSION='1.0'
SRCDIRS=''
THREADHEADERS=''
THREADOBJ=''
TRUE=''
UNICODE_OBJS=''
USE_SIGNAL_MODULE=''
USE_THREAD_MODULE=''
VERSION='2p3'
ac_ct_CC=''
ac_ct_RANLIB=''
bindir='${exec_prefix}/bin'
build_alias=''
datadir='${prefix}/share'
exec_prefix='NONE'
host_alias='alpha--netbsd'
includedir='${prefix}/include'
infodir='${prefix}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
oldincludedir='/usr/include'
prefix='/usr/pkg'
program_transform_name='s,x,x,'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define _GNU_SOURCE 1
#define _NETBSD_SOURCE 1
#define _POSIX_C_SOURCE 200112L
#define _XOPEN_SOURCE 600
#define _XOPEN_SOURCE_EXTENDED 1
#define __BSD_VISIBLE 1

configure: exit 77
bash-2.05b# c++ -v
Using built-in specs.
Configured with: /home/nick/work/netbsd/src/tools/gcc/../../gnu/dist/gcc/configure --enable-long-long --disable-multilib --enable-threads --disable-symvers --build=i386-unknown-netbsdelf --host=alpha--netbsd --target=alpha--netbsd
Thread model: posix
gcc version 3.3.3 20040209 (prerelease/NetBSD)
<<<<<

I'm not sure if the undefined references in /usr/lib/libstdc++.so are
due to user error on my part when rebuilding kernel+userland, but I
followed my normal routine of using /usr/src/build.sh and nothing
seemed out of the ordinary.  Also, I've been able to build other
packages since the upgrade, so it's not like everything is broken.

I also made the mistake of upgrading mutt recently (from
1.4.1<something> to 1.4.2), and now when I start it up I get this:

>>>>>
~ paul@hawkwind$ mutt
pid 12795 (mutt): unaligned access: va=0x1fffff0a4 pc=0x1603e4ea0 ra=0x120019a48 sp=0x1ffffeff8 op=ldq
pid 12795 (mutt): unaligned access: va=0x1fffff0a4 pc=0x1603e4ee0 ra=0x120019a48 sp=0x1ffffeff8 op=ldq
pid 12795 (mutt): unaligned access: va=0x200c111000000c79 pc=0x1603e4ee8 ra=0x120019a48 sp=0x1ffffeff8 op=ldq
Segmentation fault (core dumped)
<<<<<

(The previous mutt worked, so that's quite a bit of a loss of
functionality.:)

The mutt problem could be a problem with mutt itself rather than GCC
3.3.3.  (There were quite a lot of warnings spewing out whilst it was
compiling.)

I should probably try a fresh CVS update and a kernel+userland
rebuild to see if it helps...

Cheers,

Paul.

PS: These problems are exhibited on two separate NetBSD/alpha systems
I use, both running 1.6ZK-CURRENT with recent userlands.

e-mail: paul@gromit.dlib.vt.edu

"Without music to decorate it, time is just a bunch of boring production
 deadlines or dates by which bills must be paid."
        --- Frank Vincent Zappa