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-20T08:10:44Z
Lists: pgsql-hackers
Re: Andres Freund 2018-09-20 <20180919222600.myk5nec6unhrj45k@alap3.anarazel.de>
> > I did an upload of postgresql-11 beta3 with llvm 7 enabled on the
> > architectures where it is available (or supposed to become available),
> > that is, on !alpha !hppa !hurd-i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !m68k !sh4.
>
> Cool. No idea why kfreebsd is on that list, but that's not really a
> postgres relevan concern...
Because https://buildd.debian.org/status/package.php?p=llvm-toolchain-7
-> cmake missing on kfreebsd-*
-> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=905138
-> maintainer says this should be fixed by cmake upstream first
> > powerpc (the old 32-bit variant) has a lot of "server closed the
> > connection unexpectedly" in the regression logs, and one SIGILL:
> >
> > 2018-09-15 10:49:25.052 UTC [26458] LOG: server process (PID 26527) was terminated by signal 4: Illegal instruction
> > 2018-09-15 10:49:25.052 UTC [26458] DETAIL: Failed process was running: SELECT '' AS tf_12, BOOLTBL1.*, BOOLTBL2.*
> > FROM BOOLTBL1, BOOLTBL2
> > WHERE BOOLTBL2.f1 <> BOOLTBL1.f1;
> > 2018-09-15 10:49:25.052 UTC [26458] LOG: terminating any other active server processes
>
> Hm. Is there any chance to get a backtrace for this one? This could,
> although I think less likely so, also be a postgres issue
> (e.g. generating code for the wrong microarch).
I'll see if I can find a porterbox to get a backtrace.
In the meantime, there's a third architecture where llvm itself
compiled, but explodes with PG11 - x32:
SELECT '' AS tf_12, BOOLTBL1.*, BOOLTBL2.*
FROM BOOLTBL1, BOOLTBL2
WHERE BOOLTBL2.f1 <> BOOLTBL1.f1;
! FATAL: fatal llvm error: Cannot select: 0x57a7ae60: ch,glue = X86ISD::CALL 0x57a7add0, 0x57a7af38, Register:i32 $edi, RegisterMask:Untyped, 0x57a7add0:1
! 0x57a7af38: i32 = X86ISD::Wrapper TargetGlobalAddress:i32<void (%struct.TupleTableSlot*)* @deform_0_1> 0
! 0x57a7aef0: i32 = TargetGlobalAddress<void (%struct.TupleTableSlot*)* @deform_0_1> 0
! 0x57a7ad88: i32 = Register $edi
! 0x57a7ae18: Untyped = RegisterMask
! 0x57a7add0: ch,glue = CopyToReg 0x57a7ad40, Register:i32 $edi, 0x57a7acb0
! 0x57a7ad88: i32 = Register $edi
! 0x57a7acb0: i32,ch = CopyFromReg 0x57a367ac, Register:i32 %27
! 0x57a7ac68: i32 = Register %27
! In function: evalexpr_0_0
! server closed the connection unexpectedly
! This probably means the server terminated abnormally
! before or while processing the request.
! connection to server was lost
https://buildd.debian.org/status/fetch.php?pkg=postgresql-11&arch=x32&ver=11~beta3-2&stamp=1537286634&raw=0
Christoph
Commits
-
Detect LLVM 7 without specifying binaries explicitly.
- 99ba795d982e 11.0 landed
- 240d40db88ec 12.0 landed