+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.
 
       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)