diff --git a/lib/rpmrc.c b/lib/rpmrc.c index 0806e1b07d..fc1351f62a 100644 --- a/lib/rpmrc.c +++ b/lib/rpmrc.c @@ -82,7 +82,6 @@ struct rpmOption { static struct rpmat_s { const char *platform; uint64_t hwcap; - uint64_t hwcap2; } rpmat; typedef struct defaultEntry_s { @@ -949,11 +948,7 @@ static int is_geode(void) } #endif - #if defined(__linux__) -#ifndef AT_HWCAP2 /* glibc < 2.18 */ -#define AT_HWCAP2 26 -#endif /** * Populate rpmat structure with auxv values */ @@ -967,7 +962,6 @@ static void read_auxv(void) if (!rpmat.platform) rpmat.platform = ""; rpmat.hwcap = getauxval(AT_HWCAP); - rpmat.hwcap2 = getauxval(AT_HWCAP2); #else rpmat.platform = ""; int fd = open("/proc/self/auxv", O_RDONLY); @@ -989,9 +983,6 @@ static void read_auxv(void) case AT_HWCAP: rpmat.hwcap = auxv.a_un.a_val; break; - case AT_HWCAP2: - rpmat.hwcap2 = auxv.a_un.a_val; - break; } } close(fd); @@ -1224,9 +1215,6 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) # endif # if !defined(HWCAP_ARM_VFPv3) # define HWCAP_ARM_VFPv3 (1 << 13) -# endif -# if !defined(HWCAP2_AES) -# define HWCAP2_AES (1 << 0) # endif /* * un.machine is armvXE, where X is version number and E is @@ -1238,11 +1226,9 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) /* keep armv7, armv8, armv9, armv10, ... */ while(risdigit(*modifier)) modifier++; - if (rpmat.hwcap & HWCAP_ARM_VFPv3) + if (rpmat.hwcap & (HWCAP_ARM_VFP || HWCAP_ARM_VFPv3)) *modifier++ = 'h'; - if (rpmat.hwcap2 & HWCAP2_AES) - *modifier++ = 'c'; - if (rpmat.hwcap & HWCAP_ARM_NEON) + if ((atoi(un.machine+4) == 7) && (rpmat.hwcap & HWCAP_ARM_NEON)) *modifier++ = 'n'; *modifier++ = endian; *modifier++ = 0;