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>