Hello Dave, On Thu, 29 Oct 2015 17:29:52 +0000 David Hunt <david.hunt at intel.com> wrote:
> 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) I think, it might be better to do a typedef (or define) like #ifdef RTE_ARCH_64 typedef Elf64_auxv_t Elf_auxv_t; #else typedef Elf32_auxv_t Elf_auxv_t; #endif while leaving the above code almost untouched (just Elf32_auxv_t -> Elf_auxv_t). This is like spagetti... :) Regards Jan -- Jan Viktorin E-mail: Viktorin at RehiveTech.com System Architect Web: www.RehiveTech.com RehiveTech Brno, Czech Republic