base/dispatch.c: Add notional support for `AT_HWCAP2' entry.
[catacomb] / base / dispatch.c
index 51619d5..875c126 100644 (file)
@@ -205,13 +205,12 @@ static int xmm_registers_available_p(void)
 /* Try to find the system's definitions for auxiliary vector entries. */
 #ifdef HAVE_SYS_AUXV_H
 #  include <sys/auxv.h>
-#else
-#  ifdef HAVE_LINUX_AUXVEC_H
-#    include <linux/auxvec.h>
-#  endif
-#  ifdef HAVE_ASM_HWCAP_H
-#    include <asm/hwcap.h>
-#  endif
+#endif
+#ifdef HAVE_LINUX_AUXVEC_H
+#  include <linux/auxvec.h>
+#endif
+#ifdef HAVE_ASM_HWCAP_H
+#  include <asm/hwcap.h>
 #endif
 
 /* The type of entries in the auxiliary vector.  I'm assuming that `unsigned
@@ -247,6 +246,9 @@ static unsigned hwcaps = 0;
 #ifndef WANT_AT_HWCAP
 #  define WANT_AT_HWCAP(_)
 #endif
+#ifndef WANT_AT_HWCAP2
+#  define WANT_AT_HWCAP2(_)
+#endif
 
 /* For each CPU family, define two lists.
  *
@@ -320,8 +322,8 @@ static void probe_hwcaps(void)
   /* Shiny new libc lets us request individual entry types.  This is almost
    * too easy.
    */
-#  define CAP__GET(type, slot, ubranch)                                        \
-       probed.slot.ubranch = (AUXUTYPE_##ubranch)getauxval(type);
+#  define CAP__GET(type, ubranch, slot)                                        \
+       probed.slot = (AUXUTYPE_##ubranch)getauxval(type);
   WANTAUX(CAP__GET)
 #else
   /* Otherwise we're a bit stuck, really.  Modern Linux kernels make a copy