]> granicus.if.org Git - strace/commitdiff
Move macros related to kernel types to kernel_types.h
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 13 Jul 2017 21:56:29 +0000 (21:56 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 13 Jul 2017 21:56:29 +0000 (21:56 +0000)
Some macros related to kernel types are defined both in defs.h and
tests/tests.h.  Avoid this redundancy by moving these definitions
to kernel_types.h.

* defs.h (PRI_kl, PRI_kld, PRI_klu, PRI_klx, PRI__64, PRI__d64,
PRI__u64, PRI__x64): Move ...
* kernel_types.h: ... here.
* tests/tests.h (PRI__64, PRI__d64, PRI__u64, PRI__x64): Remove.

defs.h
kernel_types.h
tests/tests.h

diff --git a/defs.h b/defs.h
index bb0dad3bf2b308de2cc83a64735bc8ed2d8b9614..5b378a946316975de01bc99986a4f1dcc75d040f 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -1024,36 +1024,4 @@ scno_is_valid(kernel_ulong_t scno)
 
 #define SYS_FUNC(syscall_name) int SYS_FUNC_NAME(sys_ ## syscall_name)(struct tcb *tcp)
 
-#if SIZEOF_KERNEL_LONG_T > SIZEOF_LONG
-# define PRI_kl "ll"
-#else
-# define PRI_kl "l"
-#endif
-
-#define PRI_kld PRI_kl"d"
-#define PRI_klu PRI_kl"u"
-#define PRI_klx PRI_kl"x"
-
-/*
- * The kernel used to define 64-bit types on 64-bit systems on a per-arch
- * basis.  Some architectures would use unsigned long and others would use
- * unsigned long long.  These types were exported as part of the
- * kernel-userspace ABI and now must be maintained forever.  This matches
- * what the kernel exports for each architecture so we don't need to cast
- * every printing of __u64 or __s64 to stdint types.
- * The exception is Android, where for MIPS64 unsigned long long is used.
- */
-#if SIZEOF_LONG == 4
-# define PRI__64 "ll"
-#elif defined ALPHA || defined IA64 || defined POWERPC \
-      || (defined MIPS && !defined __ANDROID__)
-# define PRI__64 "l"
-#else
-# define PRI__64 "ll"
-#endif
-
-#define PRI__d64 PRI__64"d"
-#define PRI__u64 PRI__64"u"
-#define PRI__x64 PRI__64"x"
-
 #endif /* !STRACE_DEFS_H */
index 373a3e0540f44cac6b2bad765869446313049766..3651014f1442f72588812cd36ddb8aef99cf7a2c 100644 (file)
@@ -55,4 +55,36 @@ typedef struct {
        char            d_name[1];
 } kernel_dirent;
 
+#if SIZEOF_KERNEL_LONG_T > SIZEOF_LONG
+# define PRI_kl "ll"
+#else
+# define PRI_kl "l"
+#endif
+
+#define PRI_kld PRI_kl"d"
+#define PRI_klu PRI_kl"u"
+#define PRI_klx PRI_kl"x"
+
+/*
+ * The kernel used to define 64-bit types on 64-bit systems on a per-arch
+ * basis.  Some architectures would use unsigned long and others would use
+ * unsigned long long.  These types were exported as part of the
+ * kernel-userspace ABI and now must be maintained forever.  This matches
+ * what the kernel exports for each architecture so we don't need to cast
+ * every printing of __u64 or __s64 to stdint types.
+ * The exception is Android, where for MIPS64 unsigned long long is used.
+ */
+#if SIZEOF_LONG == 4
+# define PRI__64 "ll"
+#elif defined ALPHA || defined IA64 || defined POWERPC \
+      || (defined MIPS && !defined __ANDROID__)
+# define PRI__64 "l"
+#else
+# define PRI__64 "ll"
+#endif
+
+#define PRI__d64 PRI__64"d"
+#define PRI__u64 PRI__64"u"
+#define PRI__x64 PRI__64"x"
+
 #endif /* !STRACE_KERNEL_TYPES_H */
index 633461b3cd39b7e190aced8757144e91accf58f8..258fbd96de1bb9f03ee6ffaf993d450d7e43c47d 100644 (file)
@@ -228,26 +228,6 @@ f8ill_ptr_to_kulong(const void *const ptr)
 # define SKIP_MAIN_UNDEFINED(arg) \
        int main(void) { error_msg_and_skip("undefined: %s", arg); }
 
-/*
- * The kernel used to define 64-bit types on 64-bit systems on a per-arch
- * basis.  Some architectures would use unsigned long and others would use
- * unsigned long long.  These types were exported as part of the
- * kernel-userspace ABI and now must be maintained forever.  This matches
- * what the kernel exports for each architecture so we don't need to cast
- * every printing of __u64 or __s64 to stdint types.
- */
-# if SIZEOF_LONG == 4
-#  define PRI__64 "ll"
-# elif defined ALPHA || defined IA64 || defined MIPS || defined POWERPC
-#  define PRI__64 "l"
-# else
-#  define PRI__64 "ll"
-# endif
-
-# define PRI__d64 PRI__64"d"
-# define PRI__u64 PRI__64"u"
-# define PRI__x64 PRI__64"x"
-
 # if WORDS_BIGENDIAN
 #  define LL_PAIR(HI, LO) (HI), (LO)
 # else