Signed-off-by: David Hunt <david.hunt at intel.com>
---
 lib/librte_eal/common/include/arch/arm/rte_cpuflags.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h 
b/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h
index 7ce9d14..27d49c0 100644
--- a/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h
+++ b/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h
@@ -141,12 +141,21 @@ rte_cpu_get_features(__attribute__((unused)) uint32_t 
leaf,
        __attribute__((unused)) uint32_t subleaf, cpuid_registers_t out)
 {
        int auxv_fd;
+#ifdef RTE_ARCH_64
+       Elf64_auxv_t auxv;
+#else
        Elf32_auxv_t auxv;
+#endif

        auxv_fd = open("/proc/self/auxv", O_RDONLY);
        assert(auxv_fd);
+#ifdef RTE_ARCH_64
+       while (read(auxv_fd, &auxv,
+               sizeof(Elf64_auxv_t)) == sizeof(Elf64_auxv_t)) {
+#else
        while (read(auxv_fd, &auxv,
                sizeof(Elf32_auxv_t)) == sizeof(Elf32_auxv_t)) {
+#endif
                if (auxv.a_type == AT_HWCAP)
                        out[REG_HWCAP] = auxv.a_un.a_val;
                else if (auxv.a_type == AT_HWCAP2)
-- 
1.9.1

Reply via email to