diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/sb.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index deefdd6..81759bd 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2012-10-29 Alan Modra <amodra@gmail.com> + * sb.c (sb_check): Use __builtin_clzll when size_t is not the + same size as long. + +2012-10-29 Alan Modra <amodra@gmail.com> + * config/tc-ppc.c (ppc_znop): Remove unused vars. 2012-10-26 Alan Modra <amodra@gmail.com> @@ -137,7 +137,10 @@ sb_check (sb *ptr, size_t len) if ((ssize_t) want < 0) as_fatal ("string buffer overflow"); #if GCC_VERSION >= 3004 - max = (size_t) 1 << (CHAR_BIT * sizeof (want) - __builtin_clzl (want)); + max = (size_t) 1 << (CHAR_BIT * sizeof (want) + - (sizeof (want) <= sizeof (long) + ? __builtin_clzl ((long) want) + : __builtin_clzll ((long long) want))); #else max = 128; while (want > max) |