Make compile_time_assert compatible with x32 (Closes: #1063738)
authorOtto Kekalainen <otto@debian.org>
Thu, 4 Jul 2024 07:03:58 +0000 (00:03 -0700)
committerOtto Kekäläinen <otto@debian.org>
Sun, 8 Jun 2025 08:19:07 +0000 (11:19 +0300)
The x32 build was failing on:

    compile_time_assert(sizeof(MYSQL) == 77*sizeof(void*)+656);

Reported upstream at https://jira.mariadb.org/browse/MDEV-34195.
This is a regression from upstream commits c432c9ef and 06a884a57071.

Fix is based on advice from https://lists.debian.org/debian-amd64/2024/07/msg00003.html
which is also aligned with https://wiki.debian.org/X32Port.

Forwarded: no

Gbp-Pq: Name 1063738-x32-compile-time-assert.patch

tests/mysql_client_fw.c

index 1c71ac8844b54989f76312e38f1483bb7451ddf9..e192287d51d555479ca49869e745042a2257bcfc 100644 (file)
@@ -1444,7 +1444,7 @@ int main(int argc, char **argv)
 */
 #if defined _M_AMD64
   compile_time_assert(sizeof(MYSQL) == 1208);
-#elif defined __x86_64__
+#elif defined(__x86_64__) && !defined(__ILP32__)
   compile_time_assert(sizeof(MYSQL) == 1272);
 #elif defined __i386__
   compile_time_assert(sizeof(MYSQL) == 964);