[dpdk-dev,v2,4/6] eal/arm: fix 64-bit armv8 compilation of rte_cpuflags.h
Commit Message
Signed-off-by: David Hunt <david.hunt@intel.com>
---
lib/librte_eal/common/include/arch/arm/rte_cpuflags.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Comments
Much better then the previous...
Reviewed-by: Jan Viktorin <viktorin@rehivetech.com>
On Fri, 30 Oct 2015 11:51:24 +0000
David Hunt <david.hunt@intel.com> wrote:
> Signed-off-by: David Hunt <david.hunt@intel.com>
> ---
> lib/librte_eal/common/include/arch/arm/rte_cpuflags.h | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> 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..5c5fd6a 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,16 @@ 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);
> while (read(auxv_fd, &auxv,
> - sizeof(Elf32_auxv_t)) == sizeof(Elf32_auxv_t)) {
> + sizeof(auxv)) == sizeof(auxv)) {
> if (auxv.a_type == AT_HWCAP)
> out[REG_HWCAP] = auxv.a_un.a_val;
> else if (auxv.a_type == AT_HWCAP2)
@@ -141,12 +141,16 @@ 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);
while (read(auxv_fd, &auxv,
- sizeof(Elf32_auxv_t)) == sizeof(Elf32_auxv_t)) {
+ sizeof(auxv)) == sizeof(auxv)) {
if (auxv.a_type == AT_HWCAP)
out[REG_HWCAP] = auxv.a_un.a_val;
else if (auxv.a_type == AT_HWCAP2)