[Mesa-stable] [PATCH] opencl: autotools: Fix linking order for OpenCL target

Kai Wasserbäch kai at dev.carbon-project.org
Tue May 1 16:23:19 UTC 2018


Hey Jan,
Jan Vesely wrote on 01.05.2018 17:19:
> On Tue, 2018-05-01 at 14:14 +0200, Kai Wasserbäch wrote:
>> Otherwise the build fails with an undefined reference to
>> clang::FrontendTimesIsEnabled.
>>
>> Bugzilla: https://bugs.freedesktop.org/106209
>> Cc: mesa-stable at lists.freedesktop.org
>> Cc: Jan Vesely <jan.vesely at rutgers.edu>
>> Signed-off-by: Kai Wasserbäch <kai at dev.carbon-project.org>
>> ---
>>
>> Hey,
>> this patch fixes a FTBFS for me with recent LLVM/Clang 7 revisions from
>> upstream's SVN (I use the packages from apt.llvm.org).
>>
>> If you accept it, please commit it for me, I do not have commit access.
>>
>> The CC to stable can be dropped, if stable branches are not to be
>> expected to be buildable with LLVM/Clang from SVN.
> 
> thanks for looking into this. TBH I don't understand how this patch
> works, it's dropping and reordering linked libraries.
> I've added Emil and Francisco to cc.

the removal is just the removal of a duplicate line (the first Clang library
named is already "clangCodeGen"). And AFAICT there's no "-Wl,--as-needed" in
use. At least I don't find anything in the build logs.

>>  src/gallium/targets/opencl/Makefile.am | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/src/gallium/targets/opencl/Makefile.am b/src/gallium/targets/opencl/Makefile.am
>> index de68a93ad5..f0e1de7797 100644
>> --- a/src/gallium/targets/opencl/Makefile.am
>> +++ b/src/gallium/targets/opencl/Makefile.am
>> @@ -23,11 +23,10 @@ lib at OPENCL_LIBNAME@_la_LIBADD = \
>>  	$(LIBELF_LIBS) \
>>  	$(DLOPEN_LIBS) \
>>  	-lclangCodeGen \
>> -	-lclangFrontendTool \
>>  	-lclangFrontend \
>> +	-lclangFrontendTool \
> 
> This is strange. Why does reordering help here? Do we use -Wl,--as-
> needed anywhere?

No, not that I can see.

> Should we use -Wl,--start-group/-Wl,--end-group for all clang libraries
> instead?

Maybe? This was the simplest fix I could come up with, but if there's a
preference for a link group, I can give that a try as well.

>>  	-lclangDriver \
>>  	-lclangSerialization \
>> -	-lclangCodeGen \
> 
> Is this change related?

Not really, just a minor clean-up while I was busy a few lines above.
"clangCodeGen" is already named on the first Clang library line.

Cheers,
Kai

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/mesa-stable/attachments/20180501/59f9c7a8/attachment.sig>


More information about the mesa-stable mailing list