
With exported headers using a hacked <sys/cdefs.h> is not enough, since
they're used by external programs.  Manual patching is required...

--- a/lib/libcam/camlib.h
+++ b/lib/libcam/camlib.h
@@ -151,12 +151,12 @@
  * Buffer encoding/decoding routines, from the old SCSI library.
  */
 int csio_decode(struct ccb_scsiio *csio, const char *fmt, ...)
-		__printflike(2, 3);
+		__attribute((format(printf, (2), (3))));
 int csio_decode_visit(struct ccb_scsiio *csio, const char *fmt,
 		      void (*arg_put)(void *, int, void *, int, char *),
 		      void *puthook);
 int buff_decode(u_int8_t *buff, size_t len, const char *fmt, ...)
-		__printflike(3, 4);
+		__attribute((format(printf, (3), (4))));
 int buff_decode_visit(u_int8_t *buff, size_t len, const char *fmt,
 		      void (*arg_put)(void *, int, void *, int, char *),
 		      void *puthook);
@@ -169,7 +169,7 @@
 		     int (*arg_get)(void *hook, char *field_name),
 		     void *gethook);
 int csio_encode(struct ccb_scsiio *csio, const char *fmt, ...)
-		__printflike(2, 3);
+		__attribute((format(printf, (2), (3))));
 int buff_encode_visit(u_int8_t *buff, size_t len, const char *fmt,
 		      int (*arg_get)(void *hook, char *field_name),
 		      void *gethook);
--- a/lib/libnetgraph/netgraph.h
+++ b/lib/libnetgraph/netgraph.h
@@ -48,9 +48,9 @@
 
 __BEGIN_DECLS
 int	NgMkSockNode(const char *, int *, int *);
-int	NgNameNode(int, const char *, const char *, ...) __printflike(3, 4);
+int	NgNameNode(int, const char *, const char *, ...) __attribute((format(printf, (3), (4))));
 int	NgSendMsg(int, const char *, int, int, const void *, size_t);
-int	NgSendAsciiMsg(int, const char *, const char *, ...) __printflike(3, 4);
+int	NgSendAsciiMsg(int, const char *, const char *, ...) __attribute((format(printf, (3), (4))));
 int	NgSendReplyMsg(int, const char *,
 		const struct ng_mesg *, const void *, size_t);
 int	NgRecvMsg(int, struct ng_mesg *, size_t, char *);
--- a/lib/libusb/libusb.h
+++ b/lib/libusb/libusb.h
@@ -268,7 +268,7 @@
 	uint8_t	bSynchAddress;
 	uint8_t *extra;
 	int	extra_length;
-}	libusb_endpoint_descriptor __aligned(sizeof(void *));
+}	libusb_endpoint_descriptor __attribute__((__aligned__(sizeof(void *))));
 
 typedef struct libusb_ss_endpoint_companion_descriptor {
 	uint8_t bLength;
@@ -276,7 +276,7 @@
 	uint8_t bMaxBurst;
 	uint8_t bmAttributes;
 	uint16_t wBytesPerInterval;
-}	libusb_ss_endpoint_companion_descriptor __aligned(sizeof(void *));
+}	libusb_ss_endpoint_companion_descriptor __attribute__((__aligned__(sizeof(void *))));
 
 typedef struct libusb_interface_descriptor {
 	uint8_t	bLength;
@@ -291,12 +291,12 @@
 	struct libusb_endpoint_descriptor *endpoint;
 	uint8_t *extra;
 	int	extra_length;
-}	libusb_interface_descriptor __aligned(sizeof(void *));
+}	libusb_interface_descriptor __attribute__((__aligned__(sizeof(void *))));
 
 typedef struct libusb_interface {
 	struct libusb_interface_descriptor *altsetting;
 	int	num_altsetting;
-}	libusb_interface __aligned(sizeof(void *));
+}	libusb_interface __attribute__((__aligned__(sizeof(void *))));
 
 typedef struct libusb_config_descriptor {
 	uint8_t	bLength;
@@ -310,7 +310,7 @@
 	struct libusb_interface *interface;
 	uint8_t *extra;
 	int	extra_length;
-}	libusb_config_descriptor __aligned(sizeof(void *));
+}	libusb_config_descriptor __attribute__((__aligned__(sizeof(void *))));
 
 typedef struct libusb_usb_2_0_device_capability_descriptor {
 	uint8_t bLength;
@@ -318,7 +318,7 @@
 	uint8_t bDevCapabilityType;
 	uint32_t bmAttributes;
 #define LIBUSB_USB_2_0_CAPABILITY_LPM_SUPPORT  (1 << 1)
-}	libusb_usb_2_0_device_capability_descriptor __aligned(sizeof(void *));
+}	libusb_usb_2_0_device_capability_descriptor __attribute__((__aligned__(sizeof(void *))));
 
 typedef struct libusb_ss_usb_device_capability_descriptor {
 	uint8_t bLength;
@@ -334,7 +334,7 @@
 	uint8_t bFunctionalitySupport;
 	uint8_t bU1DevExitLat;
 	uint16_t wU2DevExitLat;
-}	libusb_ss_usb_device_capability_descriptor __aligned(sizeof(void *));
+}	libusb_ss_usb_device_capability_descriptor __attribute__((__aligned__(sizeof(void *))));
 
 typedef struct libusb_bos_descriptor {
 	uint8_t bLength;
@@ -343,7 +343,7 @@
 	uint8_t bNumDeviceCapabilities;
 	struct libusb_usb_2_0_device_capability_descriptor *usb_2_0_ext_cap;
 	struct libusb_ss_usb_device_capability_descriptor *ss_usb_cap;
-}	libusb_bos_descriptor __aligned(sizeof(void *));
+}	libusb_bos_descriptor __attribute__((__aligned__(sizeof(void *))));
 
 typedef struct libusb_control_setup {
 	uint8_t	bmRequestType;
@@ -359,7 +359,7 @@
 	uint32_t length;
 	uint32_t actual_length;
 	enum libusb_transfer_status status;
-}	libusb_iso_packet_descriptor __aligned(sizeof(void *));
+}	libusb_iso_packet_descriptor __attribute__((__aligned__(sizeof(void *))));
 
 typedef void (*libusb_transfer_cb_fn) (struct libusb_transfer *transfer);
 
@@ -377,7 +377,7 @@
 	uint8_t *buffer;
 	int	num_iso_packets;
 	struct libusb_iso_packet_descriptor iso_packet_desc[0];
-}	libusb_transfer __aligned(sizeof(void *));
+}	libusb_transfer __attribute__((__aligned__(sizeof(void *))));
 
 /* Library initialisation */
 
--- a/lib/libusb/libusb20_desc.h
+++ b/lib/libusb/libusb20_desc.h
@@ -102,7 +102,7 @@
 	void   *ptr;			/* data pointer */
 	uint16_t len;			/* defaults to zero */
 	uint16_t type;			/* defaults to LIBUSB20_ME_IS_EMPTY */
-} __aligned(LIBUSB20_ME_STRUCT_ALIGN);
+} __attribute__((__aligned__(LIBUSB20_ME_STRUCT_ALIGN)));
 
 struct libusb20_me_format {
 	const uint8_t *format;		/* always set */
@@ -124,7 +124,7 @@
 	   LIBUSB20_ME_IS_##un##SIGNED ,				\
 	   (size) & 0xFF, ((size) / 0x100) & 0xFF, )		\
   LIBUSB20_NOT(ismeta) ( u##int##bits##_t				\
-		    __aligned((bits) / 8) field a; )
+		    __attribute__((__aligned__((bits) / 8))) field a; )
 
 #define	LIBUSB20_ME_UINT8_T(n, field, arg, ismeta) \
   LIBUSB20_ME_INTEGER(n, field, ismeta, UN, u, 8, , 1)
@@ -561,7 +561,7 @@
 struct libusb20_endpoint {
 	struct LIBUSB20_ENDPOINT_DESC_DECODED desc;
 	struct libusb20_me_struct extra;
-} __aligned(sizeof(void *));
+} __attribute__((__aligned__(sizeof(void *))));
 
 struct libusb20_interface {
 	struct LIBUSB20_INTERFACE_DESC_DECODED desc;
@@ -570,14 +570,14 @@
 	struct libusb20_endpoint *endpoints;
 	uint8_t	num_altsetting;
 	uint8_t	num_endpoints;
-} __aligned(sizeof(void *));
+} __attribute__((__aligned__(sizeof(void *))));
 
 struct libusb20_config {
 	struct LIBUSB20_CONFIG_DESC_DECODED desc;
 	struct libusb20_me_struct extra;
 	struct libusb20_interface *interface;
 	uint8_t	num_interface;
-} __aligned(sizeof(void *));
+} __attribute__((__aligned__(sizeof(void *))));
 
 uint8_t	libusb20_me_get_1(const struct libusb20_me_struct *ie, uint16_t offset);
 uint16_t libusb20_me_get_2(const struct libusb20_me_struct *ie, uint16_t offset);
--- a/sys/sys/sbuf.h
+++ b/sys/sys/sbuf.h
@@ -71,9 +71,9 @@
 int		 sbuf_cat(struct sbuf *, const char *);
 int		 sbuf_cpy(struct sbuf *, const char *);
 int		 sbuf_printf(struct sbuf *, const char *, ...)
-	__printflike(2, 3);
-int		 sbuf_vprintf(struct sbuf *, const char *, __va_list)
-	__printflike(2, 0);
+	__attribute((format(printf, (2), (3))));
+int		 sbuf_vprintf(struct sbuf *, const char *, va_list)
+	__attribute((format(printf, (2), (0))));
 int		 sbuf_putc(struct sbuf *, int);
 void		 sbuf_set_drain(struct sbuf *, sbuf_drain_func *, void *);
 int		 sbuf_trim(struct sbuf *);
