From 6c85cc2852367ea2db91ff6a1fc0f6fc0653788d Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Fri, 9 Jun 2017 14:18:11 +0530 Subject: aarch64: Fix undefined behavior in _dl_procinfo 1 << 31 is undefined, so replace it with a cleaner check. Also remove magic numbers in comments. * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h: Remove mention of magic numbers in comments. (_dl_procinfo): Fix undefined behavior --- sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sysdeps/unix/sysv/linux/aarch64') diff --git a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h index cdb36d3316..04fc6be0a3 100644 --- a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h +++ b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h @@ -40,7 +40,7 @@ _dl_procinfo (unsigned int type, unsigned long int word) _dl_printf ("AT_HWCAP: "); for (i = 0; i < 32; ++i) - if (word & (1 << i)) + if ((word >> i) & 1) _dl_printf (" %s", GLRO(dl_aarch64_cap_flags)[i]); _dl_printf ("\n"); @@ -56,10 +56,10 @@ _dl_hwcap_string (int idx) }; -/* 13 HWCAP bits set. */ +/* Number of HWCAP bits set. */ #define _DL_HWCAP_COUNT 13 -/* Low 13 bits are allocated in HWCAP. */ +/* Offset of the last bit allocated in HWCAP. */ #define _DL_HWCAP_LAST 12 /* HWCAP_CPUID should be available by default to influence IFUNC as well as -- cgit 1.4.1