util/getauxval: Porting to FreeBSD getauxval feature
authorDavid CARLIER <devnexen@gmail.com>
Fri, 12 Jun 2020 08:46:06 +0000 (09:46 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 26 Jun 2020 10:45:29 +0000 (06:45 -0400)
From d7f9d40777d1ed7c9450b0be4f957da2993dfc72 Mon Sep 17 00:00:00 2001
From: David Carlier <devnexen@gmail.com>
Date: Fri, 12 Jun 2020 09:39:17 +0100
Subject: [PATCH] util/getauxval: Porting to FreeBSD getauxval feature

FreeBSD has a similar API for auxiliary vector.

Signed-off-by: David Carlier <devnexen@gmail.com>
Message-Id: <CA+XhMqxTU6PUSQBpbA9VrS1QZfqgrCAKUCtUF-x2aF=fCMTDOw@mail.gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
util/getauxval.c

index 36afdfb9e62e3b2737d8dea03b81787b91d193a2..b124107d61eadf49bd6182f0633c02802304b9bd 100644 (file)
@@ -98,6 +98,16 @@ unsigned long qemu_getauxval(unsigned long type)
     return 0;
 }
 
+#elif defined(__FreeBSD__)
+#include <sys/auxv.h>
+
+unsigned long qemu_getauxval(unsigned long type)
+{
+    unsigned long aux = 0;
+    elf_aux_info(type, &aux, sizeof(aux));
+    return aux;
+}
+
 #else
 
 unsigned long qemu_getauxval(unsigned long type)