Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Mar 2010 13:19:23 -0500
From:      Scot Hetzel <swhetzel@gmail.com>
To:        Alexander Best <alexbestms@wwu.de>
Cc:        freebsd-current@freebsd.org
Subject:   Re: build failures after stdlib update
Message-ID:  <790a9fff1003231119h5a91d9c6kdc5d50de7ec43eff@mail.gmail.com>
In-Reply-To: <permail-20100323093417f0889e8400001227-a_best01@message-id.uni-muenster.de>
References:  <permail-20100323093417f0889e8400001227-a_best01@message-id.uni-muenster.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 23, 2010 at 4:34 AM, Alexander Best <alexbestms@wwu.de> wrote:
> i don't think conf/112997 and the issue where gcc segfaults are directly
> related to each other:
>
> 1. if CPUTYPE is set to 'native' your patch uses `gcc -v -x c -E -mtune=native
> /dev/null -o /dev/null 2>&1 | grep mtune | sed -e 's/.*mtune=//'` to determine
> gcc's idea of the appropriate -mtune value. that command however segfaults. so
> this doesn't really help.

The command runs correctly with a properly built gcc:

# gcc -v -x c -E -mtune=native /dev/null -o /dev/null 2>&1 | grep
mtune | sed -e 's/.*mtune=//'
generic

>
> 2. i wasn't able to reproduce your `make -V MACHINE_CPU -DCPUTYPE=native`
> examples. for me `make` prints the same no matter what CPUTYPE is set to:
>
> otaku% make -V MACHINE_CPU -DCPUTYPE=native
> amd64 sse2 sse
> otaku% make -V MACHINE_CPU -DCPUTYPE=nocona
> amd64 sse2 sse
> otaku% make -V MACHINE_CPU -DCPUTYPE=i386
> amd64 sse2 sse
> otaku% make -V MACHINE_CPU -DCPUTYPE=lalalala
> amd64 sse2 sse
>
> ..oh and of course i ran these commands with no CPUTYPE set in make.conf. ;)
>

If I run the same commands as above, I get similar results:

# make -V MACHINE_CPU -DCPUTYPE=native
amd64 sse2 sse
# make -V MACHINE_CPU -DCPUTYPE=k8
amd64 sse2 sse
# make -V MACHINE_CPU -DCPUTYPE=nocona
amd64 sse2 sse
# make -V MACHINE_CPU -DCPUTYPE=i386
amd64 sse2 sse
# make -V MACHINE_CPU -DCPUTYPE=lala
amd64 sse2 sse

But if I run the commands without the "-D", it shows the problem correctly:

# make -V MACHINE_CPU CPUTYPE=native
unknown amd64 sse2 sse mmx
# make -V MACHINE_CPU CPUTYPE=k8
k8 3dnow amd64 sse2 sse mmx
# make -V MACHINE_CPU CPUTYPE=nocona
sse3 amd64 sse2 sse mmx
# make -V MACHINE_CPU CPUTYPE=i386
unknown amd64 sse2 sse mmx
# make -V MACHINE_CPU CPUTYPE=lalala
unknown amd64 sse2 sse mmx
# grep CPUTYPE /etc/make.conf /etc/src.conf
grep: /etc/src.conf: No such file or directory

This was run under a Feb 28th -CURRENT.

Now here is something strange.  Defining CPUTYPE in /etc/src.conf has
no effect on the output of MACHING_CPU.

/etc/src.conf: 1 lines, 11 characters.
# make -V MACHINE_CPU ; grep CPUTYPE /etc/make.conf /etc/src.conf
amd64 sse2 sse
/etc/src.conf:CPUTYPE=k8

# make -V MACHINE_CPU ; grep CPUTYPE /etc/make.conf /etc/src.conf
k8 3dnow amd64 sse2 sse mmx
/etc/make.conf:CPUTYPE=k8

Scot



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?790a9fff1003231119h5a91d9c6kdc5d50de7ec43eff>