ATI radeon 3450 with new xorg

Dimitry Andric dim at FreeBSD.org
Mon Jul 28 20:10:08 UTC 2014


On 23 Jul 2014, at 09:35, Jean-Sébastien Pédron <jean-sebastien.pedron at dumbbell.fr> wrote:
> On 22.07.2014 22:25, Carlos Jacobo Puga Medina wrote:
>> Currently I'm testing an ATI Radeon HD 3450 with the new Xorg 
>> drivers on 11-CURRENT. It works partially due some ports aren't able
>> to compile with CLANG and prefer GCC47. These ports are dri, libGL
>> and libglapi.
>> 
>> % uname -a
>> (...) 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r268969 (...)  i386
>> 
>> % make -C /usr/ports/graphics/dri -V CC
>> gcc47
> 
> I now see that Mesa (libGL, dri, ...) is built with GCC on i386; never
> noticed that before. See graphics/libGL/bsd.mesalib.mk:
> 
> # i386 triggers clang bug 19778. This happens with clang 3.4.1 and older.
> . if ${ARCH} == i386
> USE_GCC=yes
> . endif
> 
> The bug is described here:
> http://llvm.org/bugs/show_bug.cgi?id=19778
> 
> I add Dimitry into the loop: Dimitry, do you have any news for this
> Clang bug?

I haven't seen any updates from upstream on this bug.  I will try again
to get some attention, but in the mean time, I propose the workaround
patch which I have attached.  This simply avoids the duplicate symbol
definitions, and makes the libglapi port work with clang.

The resulting assembly output looks the same in the places that count,
but I do not have the proper hardware to test if the libglapi support
really works as expected.  Can somebody with actual GL hardware please
verify that it doesn't blow up?


> Buildling Mesa with GCC causes the usual libc++ vs. libstdc++
> incompatibilty:
> 
> libGL error: dlopen /usr/local/lib/dri/r600_dri.so failed
> (/usr/local/lib/dri/r600_dri.so: Undefined symbol
> "_ZN4llvm13EngineBuilder12selectTargetERKNS_6TripleENS_9StringRefES4_RKNS_15SmallVectorImplISsEE")

For this situation, Baptiste has created the devel/libc++ port, which
can be compiled with gcc 4.8 or higher, and which should be compatible
with the base libc++.  See the graphics/rawtherapee port for an example.

-Dimitry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graphics__libGL-workaround-duplicate-asm-defs-1.diff
Type: application/octet-stream
Size: 2505 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-x11/attachments/20140728/fe77e11a/attachment.obj>
-------------- next part --------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-x11/attachments/20140728/fe77e11a/attachment.sig>


More information about the freebsd-x11 mailing list