You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Giulio Eulisse (Jira)" <ji...@apache.org> on 2019/11/25 12:36:00 UTC

[jira] [Comment Edited] (ARROW-7241) [C++] Gandiva exposes LLVM symbols

    [ https://issues.apache.org/jira/browse/ARROW-7241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16981511#comment-16981511 ] 

Giulio Eulisse edited comment on ARROW-7241 at 11/25/19 12:35 PM:
------------------------------------------------------------------

Update on this. 

On linux it seems to be sufficient to build LLVM with:

{code}
-DCMAKE_CXX_FLAGS=-fvisibility=hidden -DCLANG_TOOL_LIBCLANG_BUILD=OFF
{code}

on macOS this is not the case. So far we managed to get the wanted result by hacking:

{code}
set_target_properties(${LIB_NAME}_shared PROPERTIES LINK_FLAGS -Wl,-unexported_symbol,_LLVMEnablePrettyStackTrace)
{code}

into {{cmake_modules/BuildUtils.cmake}}.  This is of course not an acceptable solution because it hides only the symbol we check for, not all of them. Any better ideas?


was (Author: ktf):
Update on this. 

On linux it seems to be sufficient to build LLVM with:

{code}
-DCMAKE_CXX_FLAGS=-fvisibility=hidden -DCLANG_TOOL_LIBCLANG_BUILD=OFF
{code}

on macOS this is not the case. So far we managed to get the wanted result by hacking:

{code}
set_target_properties(${LIB_NAME}_shared PROPERTIES LINK_FLAGS -Wl,-unexported_symbol,_LLVMEnablePrettyStackTrace)
{code}

into {{cmake_modules/BuildUtils.cmake}} it is of course not an acceptable solution because it hides only the symbol we check for, not all of them. Any better ideas?

> [C++] Gandiva exposes LLVM symbols
> ----------------------------------
>
>                 Key: ARROW-7241
>                 URL: https://issues.apache.org/jira/browse/ARROW-7241
>             Project: Apache Arrow
>          Issue Type: Bug
>            Reporter: Giulio Eulisse
>            Priority: Major
>
> Despite the fact the cmake seems to indicate the opposite, I see that gandiva on macOS is compiled with LLVM symbols exported. E.g.:
> {code}
> nm ../sw/osx_x86-64/arrow/latest/lib/libgandiva.dylib | grep _LLVMEnablePrettyStackTrace
> 000000000120b5a0 T _LLVMEnablePrettyStackTrace
> {code}
> is that expected?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)