[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1115881: marked as done (glibc 2.42 breaks the gnat-XXX provide)



Your message dated Fri, 5 Dec 2025 23:03:37 +0100
with message-id <aTNWuUYAZdtsaQZF@aurel32.net>
and subject line Re: Bug#1115881: glibc 2.42 breaks the gnat-XXX provide
has caused the Debian Bug report #1115881,
regarding glibc 2.42 breaks the gnat-XXX provide
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1115881: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1115881
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: src:glibc
Version: 2.42-2
Severity: serious
Tags: sid forky
X-Debbugs-CC: debian-ada@lists.debian.org
Affects: src:gcc-14

When gcc-14 is rebuilt with glibc 2.42, the gnat provides will change. I figured out this is due to:

--- ./build/gcc/ada/rts/s-oscons.ads	2025-09-20 12:25:15.710151493 +0200
+++ ./build/gcc/ada/rts/s-oscons.ads	2025-09-20 09:23:35.826784850 +0200
@@ -173,36 +173,36 @@
PARENB : constant := 256; -- Parity enable
    PARODD                        : constant := 512;        --  Parity odd
    B0                            : constant := 0;          --  0 bps
-   B50                           : constant := 1;          --  50 bps
-   B75                           : constant := 2;          --  75 bps
-   B110                          : constant := 3;          --  110 bps
-   B134                          : constant := 4;          --  134 bps
-   B150                          : constant := 5;          --  150 bps
-   B200                          : constant := 6;          --  200 bps
-   B300                          : constant := 7;          --  300 bps
-   B600                          : constant := 8;          --  600 bps
-   B1200                         : constant := 9;          --  1200 bps
-   B1800                         : constant := 10;         --  1800 bps
-   B2400                         : constant := 11;         --  2400 bps
-   B4800                         : constant := 12;         --  4800 bps
-   B9600                         : constant := 13;         --  9600 bps
-   B19200                        : constant := 14;         --  19200 bps
-   B38400                        : constant := 15;         --  38400 bps
-   B57600                        : constant := 4097;       --  57600 bps
-   B115200                       : constant := 4098;       --  115200 bps
-   B230400                       : constant := 4099;       --  230400 bps
-   B460800                       : constant := 4100;       --  460800 bps
-   B500000                       : constant := 4101;       --  500000 bps
-   B576000                       : constant := 4102;       --  576000 bps
-   B921600                       : constant := 4103;       --  921600 bps
-   B1000000                      : constant := 4104;       --  1000000 bps
-   B1152000                      : constant := 4105;       --  1152000 bps
-   B1500000                      : constant := 4106;       --  1500000 bps
-   B2000000                      : constant := 4107;       --  2000000 bps
-   B2500000                      : constant := 4108;       --  2500000 bps
-   B3000000                      : constant := 4109;       --  3000000 bps
-   B3500000                      : constant := 4110;       --  3500000 bps
-   B4000000                      : constant := 4111;       --  4000000 bps
+   B50                           : constant := 50;         --  50 bps
+   B75                           : constant := 75;         --  75 bps
+   B110                          : constant := 110;        --  110 bps
+   B134                          : constant := 134;        --  134 bps
+   B150                          : constant := 150;        --  150 bps
+   B200                          : constant := 200;        --  200 bps
+   B300                          : constant := 300;        --  300 bps
+   B600                          : constant := 600;        --  600 bps
+   B1200                         : constant := 1200;       --  1200 bps
+   B1800                         : constant := 1800;       --  1800 bps
+   B2400                         : constant := 2400;       --  2400 bps
+   B4800                         : constant := 4800;       --  4800 bps
+   B9600                         : constant := 9600;       --  9600 bps
+   B19200                        : constant := 19200;      --  19200 bps
+   B38400                        : constant := 38400;      --  38400 bps
+   B57600                        : constant := 57600;      --  57600 bps
+   B115200                       : constant := 115200;     --  115200 bps
+   B230400                       : constant := 230400;     --  230400 bps
+   B460800                       : constant := 460800;     --  460800 bps
+   B500000                       : constant := 500000;     --  500000 bps
+   B576000                       : constant := 576000;     --  576000 bps
+   B921600                       : constant := 921600;     --  921600 bps
+   B1000000                      : constant := 1000000;    --  1000000 bps
+   B1152000                      : constant := 1152000;    --  1152000 bps
+   B1500000                      : constant := 1500000;    --  1500000 bps
+   B2000000                      : constant := 2000000;    --  2000000 bps
+   B2500000                      : constant := 2500000;    --  2500000 bps
+   B3000000                      : constant := 3000000;    --  3000000 bps
+   B3500000                      : constant := 3500000;    --  3500000 bps
+   B4000000                      : constant := 4000000;    --  4000000 bps

    ---------------------------------
    -- Terminal control characters --


Now, that might not be considered an ABI break for glibc, but the checksum over the .ali files interpret that as such one. However that seems to be the first time that a glibc update changes that gnat ABI.

Note, that we just can rebuild all the packages build-depending on gnat/gnat-14, but maybe the current ali checksum approach is too tight to be useful for an ABI check.
--- End Message ---
--- Begin Message ---
On 2025-11-25 23:31, Aurelien Jarno wrote:
> Hi,
> 
> On 2025-11-24 12:29, Nicolas Boulenguez wrote:
> > > > When gcc-14 is rebuilt with glibc 2.42, the gnat provides will change. I
> > > > figured out this is due to:
> > 
> > > > --- ./build/gcc/ada/rts/s-oscons.ads
> > > > +++ ./build/gcc/ada/rts/s-oscons.ads
> > > > -   B50                           : constant := 1;          --  50 bps
> > > > +   B50                           : constant := 50;         --  50 bps
> > 
> > > > Now, that might not be considered an ABI break for glibc, but the checksum
> > > > over the .ali files interpret that as such one.  However that seems to be
> > > > the first time that a glibc update changes that gnat ABI.
> > > > 
> > > > Note, that we just can rebuild all the packages build-depending on
> > > > gnat/gnat-14, but maybe the current ali checksum approach is too tight to be
> > > > useful for an ABI check.
> > > 
> > > Could someone on the ADA side please tell us, if it is fine to include 
> > > the gnat stack in the glibc transition, or if the checksum approach 
> > > needs to be changed or any other suggestion?
> > 
> > Hello.
> > 
> > In addition to usual precautions regarding ABIs, Ada requires that all
> > reverse dependencies are rebuilt whenever a source changes.  The ALI
> > checksums enforce this rule and seem right here.
> 
> Thanks for the explanations.
> 
> > That said, it is not currently possible to rebuild all Ada packages.
> > Most of them FTBFS and are removed from unstable.
> > 
> > I think the only sensible option is to remove all Ada packages from
> > testing.  If you confirm that this solves your problem, I will request
> > the removal.
> 
> We will definitely need to get the packages that can't be rebuilt 
> removed. For the other packages, thanks for the offer to remove them 
> from testing.
> 
> That said if they can get rebuild, I guess they can migrate at the same 
> time with glibc 2.42 and gcc-14 rebuilt against glibc 2.42. The 
> alternative to remove them from testing, get them rebuilt and migrated 
> again is also to consider, but I guess we should just leave the release 
> team to decide on the best procedure.
> 
> Anyway I'll mention the strategy in the transition bug, and will put 
> debian-ada@l.d.o in Cc. I'll first do an upload to experimental with the 
> latest upstream change, and if all goes fine I'll open a transition bug 
> in the next days.

The release team added a transition tracker entry to manage the rebuild: 
https://release.debian.org/transitions/html/gnat-14-abi.html

I am therefore closing the bug.

Regards
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                     http://aurel32.net

--- End Message ---

Reply to: