[
https://issues.apache.org/jira/browse/ARROW-4274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pindikura Ravindra updated ARROW-4274:
--------------------------------------
Description:
With the decimal changes, there can be cpp calls from the IR code. The symbols
for these need to be visible in the gandiva cpp library. but, the jni library
makes visible only a limited set of symbols from gandiva (the ones specified in
src/gandiva/jni/symbols.map).
This breaks if the jni library links with the static-libstdc++ (dremio builds
the gandiva binary with stdc++ statically linked) due to two reasons
# The cpp symbols like std::ios_base::init are not exported via symbols.map.
This causes LLVM to complain that there is are unresolved symbols.
# Also, there is a problem with exceptions (string_view.hpp can throw
exceptions) - This also causes LLVM to complain that unwindResume is unresolved.
was:
With the decimal changes, there can be cpp calls from the IR code. The symbols
for these need to be visible in the gandiva cpp library. but, the jni library
makes visible only a limited set of symbols from gandiva (the ones specified in
src/gandiva/jni/symbols.map).
This breaks if the jni library links with the static-libstdc++ (dremio builds
the gandiva binary with stdc++ statically linked) due to two reasons
# The cpp symbols like std::ios_base::init are not exported via symbols.map.
This causes LLVM to complain that there is are unresolved symbols.
# Also, there is a problem with exceptions (string_view.hpp can throw
exceptions) - This alsi causes LLVM to complain that unwindResume is unresolved.
> [Gandiva] static jni library broken after decimal changes
> ---------------------------------------------------------
>
> Key: ARROW-4274
> URL: https://issues.apache.org/jira/browse/ARROW-4274
> Project: Apache Arrow
> Issue Type: Bug
> Components: Gandiva
> Reporter: Pindikura Ravindra
> Assignee: Pindikura Ravindra
> Priority: Major
>
> With the decimal changes, there can be cpp calls from the IR code. The
> symbols for these need to be visible in the gandiva cpp library. but, the
> jni library makes visible only a limited set of symbols from gandiva (the
> ones specified in src/gandiva/jni/symbols.map).
> This breaks if the jni library links with the static-libstdc++ (dremio
> builds the gandiva binary with stdc++ statically linked) due to two reasons
> # The cpp symbols like std::ios_base::init are not exported via symbols.map.
> This causes LLVM to complain that there is are unresolved symbols.
> # Also, there is a problem with exceptions (string_view.hpp can throw
> exceptions) - This also causes LLVM to complain that unwindResume is
> unresolved.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)