-#if SIZEOF_LONG == SIZEOF_LONG_LONG
-# if SUPPORTED_PERSONALITIES > 1
- if (current_wordsize == sizeof(long))
-# endif
- tprintf("%lu", (unsigned long) tcp->u_arg[arg]);
-# if SUPPORTED_PERSONALITIES > 1
- else
- tprintf("%lu",
- ((unsigned long) tcp->u_arg[arg + 1] << current_wordsize * 8)
- | (unsigned long) tcp->u_arg[arg]);
-# endif
-#else
-# ifdef X32
- if (current_personality == 0)
- tprintf("%llu", (unsigned long long) tcp->ext_arg[arg]);
- else
-# endif
- tprintf("%llu",
- ((unsigned long long) (unsigned long) tcp->u_arg[arg + 1] << sizeof(long) * 8)
- | (unsigned long long) (unsigned long) tcp->u_arg[arg]);
+#if SIZEOF_KERNEL_LONG_T > 4
+# ifndef current_klongsize
+ if (current_klongsize < SIZEOF_KERNEL_LONG_T) {
+ tprintf("%" PRI_kld, (tcp->u_arg[arg + 1] << 32)
+ | tcp->u_arg[arg]);
+ } else
+# endif /* !current_klongsize */
+ {
+ tprintf("%" PRI_kld, tcp->u_arg[arg]);
+ }
+#else /* SIZEOF_KERNEL_LONG_T == 4 */
+ tprintf("%lld",
+ ((long long) tcp->u_arg[arg + 1] << 32)
+ | ((long long) tcp->u_arg[arg]));