Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jun 2014 00:55:06 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        freebsd-ppc@freebsd.org
Subject:   powerpc64 10.0-STABLE uses -mlongcall , -mcall-aixdesc , and -Wa, -many --none of which does clang 3.4.1 support
Message-ID:  <7AB6B15C-2FB0-41A5-915D-ADEC175D78B8@dsl-only.net>

next in thread | raw e-mail | index | archive | help
buildworld uses -mlongcall for /usr/src/lib/csu/powerpc64/ and so clang =
3.4.1 stops there.

buildkernel uses -mcall-aixdesc and -Wa,-many for =
/usr/obj/usr/src/sys/GENERIC64/ and so clang stops there as well.


Technique of discovery: Starting from

FreeBSD-10.0-STABLE-powerpc-powerpc64-20140622-r267746-disk1.iso

[with /usr/ports/Mk/Uses/compiler.mk still reverted so it does not avoid =
clang so much --but I'v not gotten to devel/boost-all testing yet]

and with /etc/make.conf being:

CPP=3Dclang-cpp
CC=3Dclang
CXX=3Dclang++

then following script tries buildworld and buildkernel:

#!/bin/sh
rm -fr /usr/obj/*
#
# Presume a free-standing clang c++ is available for bootstrapping:
# One is in 10.0-STABLE for the specifics here.
#
# Convert to having hosted implementation material in place.
#
cd /usr/src/lib/libcxxrt
make clean
make
make install
#
cd /usr/src/lib/libc++
make clean
make
make install
#
# Then with the hosted implementation in place...
#
make buildworld
make buildkernel

In essence: it bootstraps from a freestanding clang based c++ =
implementation to a hosted c++ implementation before any other possible =
other uses of the c++ compiler (including before llvm and/or clang are =
rebuilt: They require a hosted implementation.).

libcxxrt and libc++ built without reporting errors. The lack of && =
between make buildworld and make buildkernel allowed the script file to =
show where both stopped: I was more interested in that information than =
continuing to build without starting over.

I will probably see what happens if I repeat my boost-all experiment: =
rebuild all the prerequisites in this context and then retry boost-all =
(if it it gets that far). That would mean that icu had been built by =
clang (if it is successful).

=3D=3D=3D
Mark Millard
markmi@dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7AB6B15C-2FB0-41A5-915D-ADEC175D78B8>