$NetBSD: patch-src_mesa_main_formats.c,v 1.1 2022/03/13 15:52:50 tnn Exp $ atexit() is not a good idea in shared libraries. --- src/mesa/main/formats.c.orig 2021-07-14 20:04:58.323035200 +0000 +++ src/mesa/main/formats.c @@ -451,7 +451,11 @@ _mesa_format_to_array_format(mesa_format static struct hash_table *format_array_format_table; static once_flag format_array_format_table_exists = ONCE_FLAG_INIT; +#if defined(HAVE_NOATEXIT) +static void __attribute__((__destructor__)) +#else static void +#endif format_array_format_table_destroy(void) { _mesa_hash_table_destroy(format_array_format_table, NULL); @@ -496,7 +500,9 @@ format_array_format_table_init(void) (void *)(intptr_t)f); } +#if !defined(HAVE_NOATEXIT) atexit(format_array_format_table_destroy); +#endif } mesa_format