Thread: broken master branch
Hi
on fresh Fedora 38, I cannot to run regress tests
+ERROR: could not load library "/home/pavel/src/postgresql.master/tmp_install/usr/local/pgsql/master/lib/llvmjit.so": /home/pavel/src/p
ostgresql.master/tmp_install/usr/local/pgsql/master/lib/llvmjit.so: undefined symbol: LLVMBuildGEP
SELECT BOOLTBL1.*, BOOLTBL2.*
FROM BOOLTBL1, BOOLTBL2
WHERE boolne(BOOLTBL2.f1,BOOLTBL1.f1);
ostgresql.master/tmp_install/usr/local/pgsql/master/lib/llvmjit.so: undefined symbol: LLVMBuildGEP
SELECT BOOLTBL1.*, BOOLTBL2.*
FROM BOOLTBL1, BOOLTBL2
WHERE boolne(BOOLTBL2.f1,BOOLTBL1.f1);
There is lot of compile warnings
In file included from llvmjit_expr.c:31:
../../../../src/include/jit/llvmjit_emit.h: In function ‘l_load_struct_gep’:
../../../../src/include/jit/llvmjit_emit.h:112:30: warning: implicit declaration of function ‘LLVMBuildStructGEP’; did you mean ‘LLVMBuildStructGEP2’? [-Wimplicit-function-declaration]
112 | LLVMValueRef v_ptr = LLVMBuildStructGEP(b, v, idx, "");
| ^~~~~~~~~~~~~~~~~~
| LLVMBuildStructGEP2
../../../../src/include/jit/llvmjit_emit.h:112:30: warning: initialization of ‘LLVMValueRef’ {aka ‘struct LLVMOpaqueValue *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
../../../../src/include/jit/llvmjit_emit.h:114:16: warning: implicit declaration of function ‘LLVMBuildLoad’; did you mean ‘LLVMBuildLoad2’? [-Wimplicit-function-declaration]
114 | return LLVMBuildLoad(b, v_ptr, name);
| ^~~~~~~~~~~~~
| LLVMBuildLoad2
../../../../src/include/jit/llvmjit_emit.h:114:16: warning: returning ‘int’ from a function with return type ‘LLVMValueRef’ {aka ‘struct LLVMOpaqueValue *’} makes pointer from integer without a cast [-Wint-conversion]
114 | return LLVMBuildLoad(b, v_ptr, name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../src/include/jit/llvmjit_emit.h: In function ‘l_load_gep1’:
../../../../src/include/jit/llvmjit_emit.h:123:30: warning: implicit declaration of function ‘LLVMBuildGEP’; did you mean ‘LLVMBuildGEP2’? [-Wimplicit-function-declaration]
123 | LLVMValueRef v_ptr = LLVMBuildGEP(b, v, &idx, 1, "");
| ^~~~~~~~~~~~
| LLVMBuildGEP2
../../../../src/include/jit/llvmjit_emit.h:123:30: warning: initialization of ‘LLVMValueRef’ {aka ‘struct LLVMOpaqueValue *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
../../../../src/include/jit/llvmjit_emit.h:125:16: warning: returning ‘int’ from a function with return type ‘LLVMValueRef’ {aka ‘struct LLVMOpaqueValue *’} makes pointer from integer without a cast [-Wint-conversion]
../../../../src/include/jit/llvmjit_emit.h: In function ‘l_load_struct_gep’:
../../../../src/include/jit/llvmjit_emit.h:112:30: warning: implicit declaration of function ‘LLVMBuildStructGEP’; did you mean ‘LLVMBuildStructGEP2’? [-Wimplicit-function-declaration]
112 | LLVMValueRef v_ptr = LLVMBuildStructGEP(b, v, idx, "");
| ^~~~~~~~~~~~~~~~~~
| LLVMBuildStructGEP2
../../../../src/include/jit/llvmjit_emit.h:112:30: warning: initialization of ‘LLVMValueRef’ {aka ‘struct LLVMOpaqueValue *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
../../../../src/include/jit/llvmjit_emit.h:114:16: warning: implicit declaration of function ‘LLVMBuildLoad’; did you mean ‘LLVMBuildLoad2’? [-Wimplicit-function-declaration]
114 | return LLVMBuildLoad(b, v_ptr, name);
| ^~~~~~~~~~~~~
| LLVMBuildLoad2
../../../../src/include/jit/llvmjit_emit.h:114:16: warning: returning ‘int’ from a function with return type ‘LLVMValueRef’ {aka ‘struct LLVMOpaqueValue *’} makes pointer from integer without a cast [-Wint-conversion]
114 | return LLVMBuildLoad(b, v_ptr, name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../src/include/jit/llvmjit_emit.h: In function ‘l_load_gep1’:
../../../../src/include/jit/llvmjit_emit.h:123:30: warning: implicit declaration of function ‘LLVMBuildGEP’; did you mean ‘LLVMBuildGEP2’? [-Wimplicit-function-declaration]
123 | LLVMValueRef v_ptr = LLVMBuildGEP(b, v, &idx, 1, "");
| ^~~~~~~~~~~~
| LLVMBuildGEP2
../../../../src/include/jit/llvmjit_emit.h:123:30: warning: initialization of ‘LLVMValueRef’ {aka ‘struct LLVMOpaqueValue *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
../../../../src/include/jit/llvmjit_emit.h:125:16: warning: returning ‘int’ from a function with return type ‘LLVMValueRef’ {aka ‘struct LLVMOpaqueValue *’} makes pointer from integer without a cast [-Wint-conversion]
Regards
Pavel
On Sat, Apr 8, 2023 at 8:04 PM Pavel Stehule <pavel.stehule@gmail.com> wrote: > on fresh Fedora 38, I cannot to run regress tests Looks like the new LLVM 16. I'll try to look at this again next week. In the meantime you could try using 15.
so 8. 4. 2023 v 10:38 odesílatel Thomas Munro <thomas.munro@gmail.com> napsal:
On Sat, Apr 8, 2023 at 8:04 PM Pavel Stehule <pavel.stehule@gmail.com> wrote:
> on fresh Fedora 38, I cannot to run regress tests
Looks like the new LLVM 16. I'll try to look at this again next week.
In the meantime you could try using 15.
ok
Thank you for info
Pavel
Thomas Munro <thomas.munro@gmail.com> writes: > On Sat, Apr 8, 2023 at 8:04 PM Pavel Stehule <pavel.stehule@gmail.com> wrote: >> on fresh Fedora 38, I cannot to run regress tests > Looks like the new LLVM 16. I'll try to look at this again next week. > In the meantime you could try using 15. I've become entirely desensitized to seawasp failing, which is probably a bad thing, but today I happened to look at it and discovered that its compiler has been dumping core for some time now: clang: /home/fabien/llvm-src/llvm/lib/Transforms/Scalar/SROA.cpp:1745: llvm::Value* getAdjustedPtr({anonymous}::IRBuilderTy&,const llvm::DataLayout&, llvm::Value*, llvm::APInt, llvm::Type*, const llvm::Twine&):Assertion `Ptr->getType()->isOpaquePointerTy() && "Only opaque pointers supported"' failed. PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessedsource, and associated run script. Stack dump: 0. Program arguments: /home/fabien/clgtk/bin/clang -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -fexcess-precision=standard-Xclang -no-opaque-pointers -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro-O2 -I../../src/include -D_GNU_SOURCE -I/usr/include/libxml2 -flto=thin -emit-llvm -c -ostrftime.bc strftime.c 1. <eof> parser at end of file 2. Optimizer Seems like we ought to look into that, and report it as requested. regards, tom lane