ATTRIBUTE_FORMAT((printf, 2, 0));
extern void printaddr(long);
-extern void printxvals(const unsigned int, const char *, const struct xlat *, ...);
+extern void printxvals(const unsigned int, const char *, const struct xlat *, ...)
+ ATTRIBUTE_SENTINEL;
#define printxval(xlat, val, dflt) printxvals(val, dflt, xlat, NULL)
extern int printargs(struct tcb *);
extern int printargs_u(struct tcb *);
# define ATTRIBUTE_NOINLINE /* empty */
#endif
+#if GNUC_PREREQ(4, 0)
+# define ATTRIBUTE_SENTINEL __attribute__((__sentinel__))
+#else
+# define ATTRIBUTE_SENTINEL /* empty */
+#endif
+
#if GNUC_PREREQ(4, 3)
# define ATTRIBUTE_ALLOC_SIZE(args) __attribute__((__alloc_size__ args))
#else