Re: [PATCH] jit: fix build with LLVM-21

Holger Hoffstätte <holger@applied-asynchrony.com>

From: Holger Hoffstätte <holger@applied-asynchrony.com>
To: Peter Eisentraut <peter@eisentraut.org>, pgsql-hackers@postgresql.org
Date: 2025-09-12T14:22:51Z
Lists: pgsql-hackers

Attachments

On 2025-09-12 14:47, Holger Hoffstätte wrote:
<snip>
> I temporarily removed the __arch64__ guard and can reproduce the above error,
> using either gcc-15 or clang-21. It seems this llvm monkey patch backport thing
> is affected by the following commit in llvm-21:
> https://github.com/llvm/llvm-project/commit/cd585864c0bbbd74ed2a2b1ccc191eed4d1c8f90
> 
> Trying to figure out how to adapt the code..

Try the attached patch on your homebrew setup.

This compiles and passes "make check", though I do not think it runs any jit tests.
So intead I dropped this into my 17.6, disabled the __arch64__ guard to make sure
I get the backport class, rebuilt and ran the jit on/off example from the docs.
This showed the expected performance difference with jit=on vs. off.

cheers
Holger

Commits

  1. jit: Adjust AArch64-only code for LLVM 21.

  2. jit: fix build with LLVM-21

  3. Monkey-patch LLVM code to fix ARM relocation bug.