From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | Anthonin Bonnefoy <anthonin(dot)bonnefoy(at)datadoghq(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Segfault in jit tuple deforming on arm64 due to LLVM issue |
Date: | 2024-08-27 22:23:55 |
Message-ID: | CA+hUKGJTKcBbCfU-AjA+3rYMns-PbW5VCsgtWxnxAHozHTPAMA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Aug 28, 2024 at 12:07 AM Anthonin Bonnefoy
<anthonin(dot)bonnefoy(at)datadoghq(dot)com> wrote:
> On Tue, Aug 27, 2024 at 12:01 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
> > Thanks! And that's great news. Do you want to report this experience
> > to the PR, in support of committing it? That'd make it seem easier to
> > consider shipping a back-ported copy...
>
> Yes, I will do that.
Thanks. Here's a slightly tidied up version:
1. I used namespace llvm::backport, instead of a different class
name. That minimises the diff against their code.
2. I tested against LLVM 10-18, and found that 10 and 11 lack some
needed symbols. So I just hid this code from them. Even though our
stable branches support those and even older versions, I am not sure
if it's worth trying to do something about that for EOL'd distros that
no one has ever complained about. I am willing to try harder if
someone thinks that's important...
One little problem I am aware of is that if you make an empty .o,
macOS's new linker issues a warning, but I think I could live with
that. I guess I could put a dummy symbol in there... FWIW those old
LLVM versions spit out tons of other warnings from the headers on
newer compilers too, so *shrug*, don't use them? But then if this
code lands in LLVM 19 we'll also be hiding it for 19+ too.
Next, I think we should wait to see if the LLVM project commits that
PR, this so that we can sync with their 19.x stable branch, instead of
using code from a PR. Our next minor release is in November, so we
have some time. If they don't commit it, we can consider it anyway: I
mean, it's crashing all over the place in production, and we see that
other projects are shipping this code already.
Attachment | Content-Type | Size |
---|---|---|
v4-0001-Backport-of-LLVM-code-to-fix-ARM-relocation-bug.patch | application/octet-stream | 30.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tomas Vondra | 2024-08-27 22:38:44 | Re: PoC: prefetching data between executor nodes (e.g. nestloop + indexscan) |
Previous Message | Nathan Bossart | 2024-08-27 21:56:53 | Re: pg_upgrade: Support for upgrading to checksums enabled |