Re: [patch] Support LLVM 7
Christoph Berg <myon@debian.org>
From: Christoph Berg <myon@debian.org>
To: Andres Freund <andres@anarazel.de>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2018-09-20T21:03:15Z
Lists: pgsql-hackers
Re: Andres Freund 2018-09-20 <20180920173238.f5idtzdlpkjsufv5@alap3.anarazel.de>
> That's pretty clearly an LLVM bug. Could you enable jit_dump_bitcode and
> send the bitcode files (I assume there should be something like
> <pid>.<generation>.bc and the same with <prefix>.optimized.bc) from the
> data directory?
>
> Not that I think x32 is a particularly popular database platform, but
> LLVM clearly needs to be fixed independent of PG...
$ PGOPTIONS="-c jit_debugging_support=on" psql
psql (11beta4 (Debian 11~beta4-2))
postgres=# set jit=on;
postgres=# set jit_dump_bitcode = on;
postgres=# \i /home/cbe/postgresql/debian/11/src/test/regress/sql/boolean.sql
FATAL: fatal llvm error: Cannot select: 0x580bfdf0: ch,glue = X86ISD::CALL 0x580bfd60, 0x580bfec8, Register:i32 $edi, RegisterMask:Untyped, 0x580bfd60:1
0x580bfec8: i32 = X86ISD::Wrapper TargetGlobalAddress:i32<void (%struct.TupleTableSlot*)* @deform_0_1> 0
0x580bfe80: i32 = TargetGlobalAddress<void (%struct.TupleTableSlot*)* @deform_0_1> 0
0x580bfd18: i32 = Register $edi
0x580bfda8: Untyped = RegisterMask
0x580bfd60: ch,glue = CopyToReg 0x580bfcd0, Register:i32 $edi, 0x580bfc40
0x580bfd18: i32 = Register $edi
0x580bfc40: i32,ch = CopyFromReg 0x5807eeec, Register:i32 %27
0x580bfbf8: i32 = Register %27
In function: evalexpr_0_0
Server beendete die Verbindung unerwartet
gdb reports "exited with code 01" at that point.
Christoph
Commits
-
Detect LLVM 7 without specifying binaries explicitly.
- 99ba795d982e 11.0 landed
- 240d40db88ec 12.0 landed