BUG #16971: Incompatible datalayout errors with llvmjit

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: tstellar(at)redhat(dot)com
Subject: BUG #16971: Incompatible datalayout errors with llvmjit
Date: 2021-04-19 18:29:52
Message-ID: 16971-5d004d34742a3d35@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 16971
Logged by: Tom Stellard
Email address: tstellar(at)redhat(dot)com
PostgreSQL version: 13.2
Operating system: Fedora
Description:

In our Fedora builds, we are getting errors[1] in the postgresql tests due
to incompatible datalayouts between the JIT engine and the LLVM modules
being compiled. The problem is that the JIT engine is being created with
host specific CPU and features, while the datalayout for the compiled module
is being taken from llvmjit_types.bc which is compiled without any specified
CPU type or features.

One way to fix this would be to add -march=native to the %.bc rules in
src/Makefile.global.in. However, this will only work when the build system
and the run system are the same.

I think to fix this correctly, the llvmjit_types.bc file will need to be
compiled when the JIT engine is initialized at runtime, so that it can use
the same datalayout as the JIT engine.

[1] https://kojipkgs.fedoraproject.org//work/tasks/2182/66082182/build.log

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Stepan Yankevych 2021-04-19 18:49:15 RE: BUG #16961: Could not access status of transaction
Previous Message Tom Lane 2021-04-19 15:57:25 Re: Since '2001-09-09 01:46:40'::timestamp microseconds are lost when extracting epoch