Re: devel/freebsd-gcc9@powerpc (for example) : it has the clang vs. gcc vec_step name conflict (for powerpc families): build fails under clang

Mark Millard via freebsd-toolchain <[email protected]>
Newsgroups gmane.os.freebsd.devel.toolchain,gmane.os.freebsd.devel.ports,gmane.os.freebsd.devel.ppc
Message-ID <[email protected]>

On 2019-Dec-26, at 20:49, Gerald Pfeifer <[email protected]> wrote:

> On Thu, 26 Dec 2019, Mark Millard 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):
> 
> I maintain this is a bug in clang which should be address there.
> 
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239266

I wish they would, but . . .

Unfortunately, this is likely a hard sell to the upstream
clang folks because

https://www.nxp.com/docs/en/reference-manual/ALTIVECPIM.pdf

defines vec_step in "2.5.3 Value for Adjusting Pointers" and
does not bother with specifying language namespace niceties,
as I remember. That dates back to 1999-June. (The "POWER
expert" quoted in comment 11 was wrong about the Altivec
PIM not having a definition.)

Clang has been this way for a long time and ends up considering
how many AltiVec related builds would be broken by such a
breaking change for those builds.

The later OpenCL specification of its vec_step has the same
sort of status as I remember. Thus, the same type of
considerations likely are involved again.

So I expect that, if devel/freebsd-gcc[69] waits for clang to be
fixed, instead of having a (hopefully temporary) workaround, then
for a significant time those ports likely will not work for being
built via clang for targeting powerpc64 or powerpc.

An unfortunate context, for sure.

>> It turns out that:
>> 
>> # 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
>> 
>> is missing the patch-clang-vec_step that is in:
>> 
>> FBSDG5L2# ls -laT /usr/ports/lang/gcc9/files/
> 
> That is a hack that can be used to work around the issue; I strongly
> recommend addressing this in clang properly, though.
> 


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.