https://bugs.gentoo.org/898074
https://bugs.gentoo.org/918936

-ignoreme: warning: incompatible pointer to integer conversion passing 'pthread_key_t *' (aka 'unsigned int *') to parameter of type 'pthread_key_t' (aka 'unsigned int'); remove & [-Wint-conversion]
+ignoreme: error: incompatible pointer to integer conversion passing 'pthread_key_t *' (aka 'unsigned int *') to parameter of type 'pthread_key_t' (aka 'unsigned int'); remove & [-Wint-conversion]
    34 |              return (void *)pthread_getspecific(&key);
       |                                                 ^~~~
 /usr/include/pthread.h:1305:49: note: passing argument to parameter '__key' here
  1305 | extern void *pthread_getspecific (pthread_key_t __key) __THROW;
       |                                                 ^
-ignoreme: warning: incompatible pointer to integer conversion passing 'pthread_key_t *' (aka 'unsigned int *') to parameter of type 'pthread_key_t' (aka 'unsigned int'); remove & [-Wint-conversion]
+ignoreme: error: incompatible pointer to integer conversion passing 'pthread_key_t *' (aka 'unsigned int *') to parameter of type 'pthread_key_t' (aka 'unsigned int'); remove & [-Wint-conversion]
    37 |               pthread_setspecific(&key, p);
       |                                   ^~~~
 /usr/include/pthread.h:1308:47: note: passing argument to parameter '__key' here
  1308 | extern int pthread_setspecific (pthread_key_t __key,
--- a/dist/aclocal/tls.m4
+++ b/dist/aclocal/tls.m4
@@ -42,10 +42,10 @@ AC_DEFUN([AX_TLS], [
              pthread_key_create(&key, NULL);
          }
          static void *get_tls() {
-             return (void *)pthread_getspecific(&key);
+             return (void *)pthread_getspecific(key);
          }
          static void set_tls(void *p) {
-              pthread_setspecific(&key, p);
+              pthread_setspecific(key, p);
          }], [],
          [ac_cv_tls=pthread])
   fi
