On 5 October 2017 at 16:16, Tom Stellard <tstel...@redhat.com> wrote: > On 10/05/2017 06:33 AM, Michel Dänzer wrote: >> On 05/10/17 12:19 PM, Emil Velikov wrote: >>> From: Emil Velikov <emil.veli...@collabora.com> >>> >>> A while back Michel reported that LLVM has symbol versioning to avoid >>> symbol collisions. Based on observations LLVM 5.0 is the first upstream >>> version to actually has it. >> >> Not exactly. Adam Jackson originally added symbol versioning in LLVM 3.6 >> (in SVN r214418), but it was only effective when LLVM was built with >> autotools. As of 5.0, it's effective with cmake as well. >> >> >>> Since symbol collisions do come up again and again (fortunately not so >>> often) let's flip the switch back to static. >> >> It seems a bit weird to make this change now, that LLVM is solving the >> issue for good. But I don't feel strongly about it. >> >> > > I agree with this, symbol versioning should solve the issues with symbol > collisions, so why change this now? > LLVM with symbol versioning as not so widely used as I/we hope it was. See the list in my other reply.
> Also, do we have a linker script or some other mechanism to prevent > mesa's libraries from exporting LLVM symbols when statically linked? > Good question, yes we do. The first one (for dri) by Maarten, the rest by yours truly... back in 2014. Although LLVM should really annotate it's symbols - either via __attribute__ ((visibility ("hidden")) or -fvisibility=hidden. But that's a topic for another day and/or place. Thanks Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev