diff --git a/include/ChangeLog b/include/ChangeLog
index 017d3fd30b5cbeac948461bce84f096d245a4937..572f45ad7717f383ecdcf7cf9586f6e1d8ac6a3d 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2006-12-06  Nick Clifton  <nickc@redhat.com>
+
+	* ansidecl.h (ATTRIBUTE_PACKED): Define.
+
 2006-11-30  Andrew Stubbs  <andrew.stubbs@st.com>
             J"orn Rennecke <joern.rennecke@st.com>
 
diff --git a/include/ansidecl.h b/include/ansidecl.h
index a1a765d63f32b82ea8e4af411d7b89d2f1a250ad..16adc47a1bfa6f6bbff44e8c9f14eea18f7052df 100644
--- a/include/ansidecl.h
+++ b/include/ansidecl.h
@@ -361,6 +361,12 @@ So instead we use the macro below and test it against specific values.  */
 # endif /* GNUC >= 3.0 */
 #endif /* ATTRIBUTE_ALIGNED_ALIGNOF */
 
+/* Useful for structures whose layout must much some binary specification
+   regardless of the alignment and padding qualities of the compiler.  */
+#ifndef ATTRIBUTE_PACKED
+# define ATTRIBUTE_PACKED __attribute__ ((packed))
+#endif
+
 /* We use __extension__ in some places to suppress -pedantic warnings
    about GCC extensions.  This feature didn't work properly before
    gcc 2.8.  */