Re: x32: mariadb: if defined __ILP32__ and __x86_64__ ?

наб <[email protected]> Wed, 3 Jul 2024 13:40:23 +0200
Newsgroups gmane.linux.debian.ports.amd64
Message-ID <ajnqnbjljauqr26ahjvisd66lxuwpqitdb6axibo2yggaetned@tarta.nabijaczleweli.xyz>
Hi!

On Tue, Jul 02, 2024 at 09:05:14PM -0700, Otto Kekäläinen wrote:
> tests/mysql_client_fw.c
> @@ -1442
> 
> #if defined __x86_64__
>   compile_time_assert(sizeof(MYSQL) == 1272);
> #elif defined __i386__
>   compile_time_assert(sizeof(MYSQL) == 964);
> #endif
> 
> How should I fix this for x32? What is the preprocessor if clause and
> can I safely assume the size is 964?
The comment before this reads
	/*
	  this limited check is enough, if sizeof(MYSQL) changes, it changes
	  everywhere
	*/
so this looks like an ABI stability check,
validating not that MYSQL should be Some Specific Size,
but that it's The Size It Was Last Time.

IMO turn the first line into
  #if defined(__x86_64__) && !defined(__ILP32__)
since they did actually just want to check
if the size is the same they measured on amd64 and i386.

And if it were to change on either of these two,
it would change everywhere (apparently).

Best,
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmaFOKQACgkQvP0LAY0m
WPESXRAAijyq4dlnQWuctpIprbtsY0bGznGIH58p3MSkSH+bESCK8u/gldPnpmDq
DNMQTlUmRldc/5pJp8GNV/Kesc0u8hrJXkwJw5Avqo6kxPYcigBSiJtchLVjglju
6R34VUB4FDnvccrp7j5UeFOqXUGtAET5Q1TwYp01kupNZHnZL7hx/Isn2IUHJll3
ChNLxVeqe8lIaBD47G+7yTSht2RzmnSegKutESbIpmDR68c//wjZ5U8s0xyAhuTN
iLaK3wmTJ+OFTPlMrgQ8+LcNGpuGwCtwjNmt8+UQEbANeHVC6Jg2NRD/wKteDm/t
R0HQok2apWmpu7X4m+Esmub257TUeDgaCZBy4ZEQ0OytZJNry2nBkYPilnl0eadG
6vbqRdjoLic4kCIjZTpUmjkUU34zrXz9gCtOQGwimFoiyXYvYollQqKsJnQdXEJx
ydQ4URSGr0mnH9V2wIB9Llb15G6fuCeA0rLONizqQ8GmAoCT6a2d74tZa8+JpK8y
cIXgeZuoaSq+KdtiavGdPVCPAN0uMEiRqKPMXKfiGcJWD6OkaW+oD44OH3QM5kFG
kMTXGREwYKiSpuN+ySKx1AvvCaYkpUF3Knb2VRrZE1HZMBpLsh5+64dZCIspzppC
+gIbBuDmGoRhY6ehnr9h20VZw9fHfV6yG1uhIHCwOWS72dLFJr0=
=XNWH
-----END PGP SIGNATURE-----