[Ada] Fix PR ada/99264

Matthias Klose doko@ubuntu.com
Fri Mar 12 09:58:55 GMT 2021

Jakub reported that for glibc 2.34 (trunk, unreleased), Richard said it was
working for glibc 2.33 (latest release), your commit says "Fix build breakage
with latest glibc release" (which is 2.33). What is correct?

The change also caused CI test failures in Debian and Ubuntu as seen at
fail libgnat-10 10.2.1-21 (experimental)
pass libgnat-10 10.2.1-6 (unstable)

Citing Nicolas,

The symptom
"/usr/lib/x86_64-linux-gnu/ada/adalib/ahven/ahven-framework.ali" is obsolete and
looks exactly like the scenario described by the Debian Ada Policy.

Example with a simple dependency chain:
  libahven depends on libgnat
  ahven-tests depend on libahven
libahven contains, in ahven-framework.ali, a checksum of each source
it depends upon, including some libgnat sources.
When libgnat changes, libahven must be rebuilt before ahven-tests.
The error above is reported when building ahven-tests.
It mentions ahven-framework.ali from the libahven-dev package.
It actually originates in a change in libgnat.

The Debian Ada policy requires that such dependencies are encoded in
-dev package names so that dpkg later automatically prevents
inconsistent sets of .ali files and related cryptic messages.

In the special case of libgnat, built by GCC, there is only one
libgnatMAJOR package, containing the files usually expected in
libgnatSO and libgnatALI-dev. The sources are not expected to change
for a given MAJOR inside unstable.

Assuming that the change is only required for glibc trunk (2.34), I'll revert
that for Debian's package builds for the gcc branches. I'll see what to do if I
still need gnat-10 when glibc 2.34 is in use.  Otoh, the patch could be
conditional on the glibc version detected.


On 3/5/21 12:45 PM, Eric Botcazou wrote:
> This fixes the build breakage introduced by the latest glibc release.
> Tested on x86-64/Linux, applied on mainline, 10 and 9 branches.
> 2021-03-05  Eric Botcazou  <ebotcazou@adacore.com>
> 	PR ada/99264
> 	* init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
> 	MINSIGSTKSZ and bump size to 32KB.
> 	* libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.

More information about the Gcc-patches mailing list