sunho added a comment.

In D129242#3686713 <https://reviews.llvm.org/D129242#3686713>, @uabelho wrote:

> In D129242#3686610 <https://reviews.llvm.org/D129242#3686610>, @sunho wrote:
>
>> @uabelho Hi, that's a typeinfo symbol of libc++ abi. It's quite weird that 
>> __cxa_throw is availble while _ZTIPKc is not. Do you have some special 
>> setting regarding libc++ in your environment?
>
> We compile with clang 8 on a RHEL7 machine, but since we then got too old 
> libs we do
>
>   
> --gcc-toolchain=/proj/bbi_twh/wh_bbi/x86_64-Linux2/bbigcc/1.9.3.0/crosscompiler
>
> since we have newer libs there. This is seen in the cmake command:
>
>   cmake command: CC='/proj/flexasic/app/llvm/8.0/bin/clang -march=corei7 
> --gcc-toolchain=/proj/bbi_twh/wh_bbi/x86_64-Linux2/bbigcc/1.9.3.0/crosscompiler'
>  CXX='/proj/flexasic/app/llvm/8.0/bin/clang++ -march=corei7 
> --gcc-toolchain=/proj/bbi_twh/wh_bbi/x86_64-Linux2/bbigcc/1.9.3.0/crosscompiler'
>  LDFLAGS='-Wl,-R/proj/bbi_twh/wh_bbi/x86_64-Linux3/z3/4.8.8-1/lib64' 
> PATH=/proj/flexasic/app/ninja/1.8.2/SLED11-64/bin:$PATH  
> /app/vbuild/RHEL7-x86_64/cmake/3.16.4/bin/cmake 
> /repo/uabelho/main-github/llvm --debug-trycompile -G Ninja 
> -DCMAKE_MAKE_PROGRAM=/proj/flexasic/app/ninja/1.8.2/SLED11-64/bin/ninja 
> -DCMAKE_BUILD_TYPE=Release 
> -DCMAKE_C_FLAGS='-Wno-error=unused-command-line-argument' 
> -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_INSTALL_PREFIX=/compiler-clang 
> -DLLVM_APPEND_VC_REV=OFF -DLLVM_CCACHE_DIR=/repo/uabelho/.ccache/ 
> -DLLVM_CCACHE_BUILD=ON 
> -DLLVM_CCACHE_PROGRAM=/app/vbuild/RHEL7-x86_64/ccache/3.2.2/bin/ccache 
> -DLLVM_CCACHE_NOHASHDIR=ON -DLLVM_CCACHE_BASEDIR=/repo 
> -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_WERROR=ON 
> -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;lld' 
> -DLLVM_ENABLE_Z3_SOLVER=ON 
> -DLLVM_Z3_INSTALL_DIR=/proj/bbi_twh/wh_bbi/x86_64-Linux3/z3/4.8.8-1 
> -DLLVM_ENABLE_LIBPFM=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_TERMINFO=OFF 
> -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_STATIC_LINK_CXX_STDLIB=ON 
> -DCLANG_ENABLE_ARCMT=OFF -DCLANG_TOOLING_BUILD_AST_INTROSPECTION=OFF
>
> Could it be something like that there is a mismatch somewhere so the support 
> checks will use some libs but then the actual libs used when 
> compiling/running is something else?

Thanks for the detailed information. I'm thining it's because of 
LLVM_STATIC_LINK_CXX_STDLIB=ON. The default method used by ORC for finding 
external symbol on linux is look up the symbols defined by the current process 
and dynamic libraries loaded so far using dlsym. Since libstdc++ was statically 
linked, some of the libstdc++ symbols might not be visible in symbol table. 
It's still weird that it has successfully found `__cxa_throw` though. (the log 
you showed says it has found `__cxa_throw`)

I'll try to reproduce the issue by tweaking LLVM_STATIC_LINK_CXX_STDLIB on my 
local machine and report back.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129242/new/

https://reviews.llvm.org/D129242

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to