[
https://issues.apache.org/jira/browse/KUDU-3614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18116862#comment-18116862
]
ASF subversion and git services commented on KUDU-3614:
-------------------------------------------------------
Commit 82425427e5cfb547318e20e6e8ad23b77674996f in kudu's branch
refs/heads/master from Alexey Serbin
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=82425427e ]
KUDU-3805 prefer using mold linker when available
This changelist enables using the mold linker [1] for building Kudu
and addresses KUDU-3614 as well.
With the mold linker, it was necessary to switch to using --exclude-libs
for gflags and glog libraries to avoid exporting their symbols.
It seems the mold linker doesn't recognize and interpret the *google::*
pattern the same way as a GNU ld-compatible linker does. With that,
I removed corresponding sections from src/kudu/client/symbols.map.
Maybe, we need to eventually switch to using --exclude-libs=ALL and
avoid using the --version-script provisions, but it's a separate story.
[1] https://github.com/rui314/mold
Change-Id: I9cd76b3cfa96b6ebd119a95d24834fe154e56aa0
Reviewed-on: http://gerrit.cloudera.org:8080/24862
Reviewed-by: Abhishek Chennaka <[email protected]>
Tested-by: Alexey Serbin <[email protected]>
> Fix protobuf symbol hiding logic for kudu client to work with LLD/Mold
> ----------------------------------------------------------------------
>
> Key: KUDU-3614
> URL: https://issues.apache.org/jira/browse/KUDU-3614
> Project: Kudu
> Issue Type: Bug
> Components: build, client
> Affects Versions: 1.17.0
> Reporter: Joe McDonnell
> Assignee: Alexey Serbin
> Priority: Major
>
> In KUDU-3334, we started hiding libprotobuf symbols in kudu client to avoid
> conflicts with Impala. LLD and Mold use a slightly different semantic for
> --exclude-libs and it won't work unless we also add the ".a" extension.
> Impala had an issue like that when we started supporting Mold (see the fix in
> IMPALA-12807 here:
> [https://github.com/apache/impala/commit/88dcdfd4662d0ec4a6e0d81d643d207f6e5ed900]
> ).
> The fix is to add the ".a" extension (which also works on gold).
> This only comes up if Impala builds Kudu with Clang/LLD, which we currently
> never do. I only found this through experimentation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)