Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Dec 2019 16:05:47 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        John Baldwin <jhb@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, freebsd-ppc@freebsd.org, FreeBSD ports <freebsd-ports@freebsd.org>
Cc:        Gerald Pfeifer <gerald@pfeifer.com>
Subject:   Re: devel/freebsd-gcc9@powerpc (for example) : it has the clang vs. gcc vec_step name conflict (for powerpc families): build fails under clang
Message-ID:  <227049B0-B9DD-46F9-9BC8-3B5403250C92@yahoo.com>
In-Reply-To: <BE95732C-A03D-47D6-969B-78966768AD5E@yahoo.com>
References:  <BE95732C-A03D-47D6-969B-78966768AD5E@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On 2019-Dec-26, at 15:21, Mark Millard <marklmi at yahoo.com> wrote:

> I tried to build devel/freebsd-gcc9@powerpc on a powerpc64 (in an
> ELFv1 clang environment) and it reported (listing just one of the
> examples that pointed to vec_step):
>=20
>=20
> =
/wrkdirs/usr/ports/devel/freebsd-gcc9/work-powerpc/gcc-9.2.0/gcc/tree-vect=
-loop.c:4595:12: error: expected unqualified-id
>      tree vec_step =3D build_vector_from_val (cr_index_vector_type, =
step);
>           ^
>=20
> (Unsure if white handling will still end up with ^
> pointing to vec_step.)
>=20
> clang reserves a name that the gcc source code uses:
> vec_step . (I'll not get into the long, messy history
> of this name and multiple standards built on top of
> C/C++, not necessarily in a language appropriate
> way.)
>=20
> It turns out that:
>=20
> # ls -laT /usr/ports/devel/freebsd-gcc9/files/
> total 44
> drwxr-xr-x  2 root  wheel    512 Dec 25 19:25:26 2019 .
> drwxr-xr-x  3 root  wheel    512 Dec 25 19:25:26 2019 ..
> -rw-r--r--  1 root  wheel   4781 Dec 25 19:25:26 2019 =
patch-freebsd-format-extensions
> -rw-r--r--  1 root  wheel   1413 Dec 25 19:25:26 2019 =
patch-freebsd-libdir
> -rw-r--r--  1 root  wheel    588 Dec 25 19:25:26 2019 =
patch-gcc-configure
> -rw-r--r--  1 root  wheel  16346 Dec 25 19:25:26 2019 =
patch-gcc-freebsd-mips
> -rw-r--r--  1 root  wheel    231 Dec 25 19:25:26 2019 xtoolchain.mk.in
>=20
> is missing the patch-clang-vec_step that is in:
>=20
> FBSDG5L2# ls -laT /usr/ports/lang/gcc9/files/
> total 32
> drwxr-xr-x  2 root  wheel   512 Dec 25 20:57:52 2019 .
> drwxr-xr-x  3 root  wheel   512 Dec 25 21:07:33 2019 ..
> -rw-r--r--  1 root  wheel  3450 Jun  1 18:44:50 2019 =
patch-arm-unwind-cxx-support
> -rw-r--r--  1 root  wheel   651 Sep 18 11:08:37 2019 =
patch-clang-vec_step
> -rw-r--r--  1 root  wheel  2148 Jun  1 18:44:50 2019 =
patch-gets-no-more
> -rw-r--r--  1 root  wheel  2897 Jun  1 18:44:50 2019 =
patch-gfortran-libgcc
> -rw-r--r--  1 root  wheel   932 Dec 25 19:25:10 2019 patch-powerpc32
> -rw-r--r--  1 root  wheel   294 Sep 15 13:10:46 2019 pkg-message.in
>=20
> I do not know if other differences in the patch
> lists might be important to other aspects (in
> either direction).

I should have also noted that devel/freebsd-gcc6 has the same
issue:

# ls -laT /usr/ports/devel/freebsd-gcc6/files/
total 44
drwxr-xr-x  2 root  wheel    512 Dec 25 19:25:37 2019 .
drwxr-xr-x  3 root  wheel    512 Dec 25 19:25:37 2019 ..
-rw-r--r--  1 root  wheel   4657 Dec 25 19:25:37 2019 =
patch-freebsd-format-extensions
-rw-r--r--  1 root  wheel   1413 Dec 25 19:25:37 2019 =
patch-freebsd-libdir
-rw-r--r--  1 root  wheel  16435 Dec 25 19:25:37 2019 =
patch-gcc-freebsd-mips
-rw-r--r--  1 root  wheel    204 Dec 25 19:25:37 2019 xtoolchain.mk.in

It also needs patch-clang-vec_step (or some equivalent)
for powerpc and powerpc64 targeting to compile via clang,
because of clang reserving the vec_step identifier and
the gcc source code using that identifier.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?227049B0-B9DD-46F9-9BC8-3B5403250C92>