compiler: Remove PACKED macro and its only (unneeded) user.
authorBen Pfaff <blp@nicira.com>
Fri, 12 Feb 2010 21:56:12 +0000 (13:56 -0800)
committerBen Pfaff <blp@nicira.com>
Fri, 12 Feb 2010 21:56:12 +0000 (13:56 -0800)
There is no point in marking a well-aligned structure PACKED.  It can only
cause trouble.

lib/compiler.h
lib/pcap.c

index 0075ca87c1ca75265a76c04824f5f621d9fe9a7c..502a48cd16c0e39693db32a5bec87a9cf99247b3 100644 (file)
@@ -19,7 +19,6 @@
 
 #define NO_RETURN __attribute__((__noreturn__))
 #define OVS_UNUSED __attribute__((__unused__))
-#define PACKED __attribute__((__packed__))
 #define PRINTF_FORMAT(FMT, ARG1) __attribute__((__format__(printf, FMT, ARG1)))
 #define STRFTIME_FORMAT(FMT) __attribute__((__format__(__strftime__, FMT, 0)))
 #define MALLOC_LIKE __attribute__((__malloc__))
index 967bb5c34b8cf9ceb77afd60be504457c6dbe43e..028dd0cb7b36b3749611de862e6389d076ad0fa4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009 Nicira Networks.
+ * Copyright (c) 2009, 2010 Nicira Networks.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,14 +34,16 @@ struct pcap_hdr {
     uint32_t sigfigs;        /* accuracy of timestamps */
     uint32_t snaplen;        /* max length of captured packets */
     uint32_t network;        /* data link type */
-} PACKED;
+};
+BUILD_ASSERT_DECL(sizeof(struct pcap_hdr) == 24);
 
 struct pcaprec_hdr {
     uint32_t ts_sec;         /* timestamp seconds */
     uint32_t ts_usec;        /* timestamp microseconds */
     uint32_t incl_len;       /* number of octets of packet saved in file */
     uint32_t orig_len;       /* actual length of packet */
-} PACKED;
+};
+BUILD_ASSERT_DECL(sizeof(struct pcaprec_hdr) == 16);
 
 FILE *
 pcap_open(const char *file_name, const char *mode)