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
This commit is contained in:
Siddhesh Poyarekar 2017-06-09 14:18:11 +05:30
parent ab70273bb7
commit 6c85cc2852
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2017-06-09 Siddhesh Poyarekar <siddhesh@sourceware.org>
* sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h: Remove
mention of magic numbers in comments.
(_dl_procinfo): Fix undefined behavior
2017-06-08 Joseph Myers <joseph@codesourcery.com>
* conform/data/sys/wait.h-data (WIFCONTINUED): Do not expect for

View File

@ -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