Re: ABI Compliance Checker GSoC Project - Mailing list pgsql-hackers

From David E. Wheeler
Subject Re: ABI Compliance Checker GSoC Project
Date
Msg-id A94C850D-05B6-4DA0-BCCC-E2745519D7A6@justatheory.com
Whole thread Raw
In response to Re: ABI Compliance Checker GSoC Project  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Responses Re: ABI Compliance Checker GSoC Project
List pgsql-hackers
On Jan 25, 2026, at 05:03, Dean Rasheed <dean.a.rasheed@gmail.com> wrote:

> Yes, the most recent check on baza [1] is still incorrectly
> complaining about both structs.
>
> I have prepared a patch for .abi-compliance-history, but I'll hold off
> on pushing it.

Okay, off-list Andres suggested that perhaps --headers-dir wasn’t implying --drop-private-types on my system. Turns out
bookwormpackages libabigail 2.2; the Abigail maintainers changed that behavior[0] in v2.8[1]. Adding it explicitly on
bazaresults in this output: 

```
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function (3 filtered out)
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct TransitionCaptureState' changed:
  type size changed from 24 to 40 (in bytes)
  2 data member insertions:
    'AfterTriggersTableData* tcs_update_private', at offset 24 (in bytes)
    'AfterTriggersTableData* tcs_delete_private', at offset 32 (in bytes)
```

Which seems more correct. I’ve made a PR[2] to always pass --drop-private-types as well as  --headers-dir, which seems
tobe compatible with the existing code[3]. 

One downside, though: the above is still considered an ABI compliance failure:

```
baza:REL_17_STABLE [19:21:24] ABICompCheck :: doing comparison against baseline
0f69beddea113dd1d6c5b6f6d82df577ef3c21f2
baza:REL_17_STABLE [19:21:57] ABICompCheck :: ABI difference found for postgres.abi
Branch: REL_17_STABLE
Stage abi-compliance-check failed with status 1
```

I tried adding --exported-interfaces-only but got the same result. Anyone got other ideas?

Best,

David

  [0]: https://sourceware.org/git/?p=libabigail.git;a=commit;h=577a81fa83d215d9bd87aaf7baaae0c47bce4757
  [1]:
https://sourceware.org/git/?p=libabigail.git;a=blob;f=ChangeLog;h=0f5d805c901f9eb6f52d37c3bb4e72a85fdcc6c6;hb=HEAD#l364
  [2]: https://github.com/PGBuildFarm/client-code/pull/41
  [3]:
https://sourceware.org/git/?p=libabigail.git;a=blob;f=tools/abidw.cc;h=ebffb8fd4e14d90ac8d650da93513526d1bda2be;hb=577a81fa83d215d9bd87aaf7baaae0c47bce4757#l316


Attachment

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Make copyObject work in C++
Next
From: "David E. Wheeler"
Date:
Subject: Re: ABI Compliance Checker GSoC Project