diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fbadea8755a207bd993da83a3ce05cc08a977fb0..57c69166fb6418f9b288df153db3392adccac40a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+Wed Oct 27 19:26:12 1999  Nick Clifton  <nickc@cygnus.com>
+
+	* config/arm/coff.h (STRUCTURE_SIZE_BOUNDARY): Delete
+	definition. 
+
+	* config/arm/elf.h (STRUCTURE_SIZE_BOUNDARY): Delete
+	definition.
+
+	* config/arm/arm.h (STRUCTURE_SIZE_BOUNDARY): Define in terms
+	of the variable arm_structure_size_boundary.
+
 Wed Oct 27 02:05:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
 
 	* alias.c (init_alias_analysis): Allocate reg_known_value and
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 47df25d49e5fb166b66156c4506893cda8c0795c..d64f59062607818e1e19b8dd9b494a6cc049de1d 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -615,12 +615,15 @@ extern int arm_is_6_or_7;
   (TREE_CODE (EXP) == STRING_CST        \
    && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN))
 
-/* Every structures size must be a multiple of 32 bits.  */
-/* This is for compatibility with ARMCC.  ARM SDT Reference Manual
-   (ARM DUI 0020D) page 2-20 says "Structures are aligned on word
-   boundaries".  */
+/* Setting this to 32 produces more efficient code, but the value set in
+   previous versions of this toolchain was 8, which produces more compact
+   structures.  The command line option -mstructure_size_boundary=<n> can
+   be used to change this value, for compatability with the ARM SDK however
+   the value should be left at 32.  ARM SDT Reference Manual (ARM DUI 0020D)
+   page 2-20 says "Structures are aligned on word boundaries".  */
 #ifndef STRUCTURE_SIZE_BOUNDARY
-#define STRUCTURE_SIZE_BOUNDARY 32
+#define STRUCTURE_SIZE_BOUNDARY arm_structure_size_boundary
+extern int arm_structure_size_boundary;
 #endif
 
 /* Used when parsing command line option -mstructure_size_boundary.  */
diff --git a/gcc/config/arm/coff.h b/gcc/config/arm/coff.h
index 8d8f5605b65540b43e2d50905391602f1d03da6a..4029eed0b13eb34e49905f0ebc06bbda3d1cf134 100644
--- a/gcc/config/arm/coff.h
+++ b/gcc/config/arm/coff.h
@@ -37,15 +37,6 @@ Boston, MA 02111-1307, USA.  */
 
 #define MULTILIB_DEFAULTS { "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
 
-/* Setting this to 32 produces more efficient code, but the value set in previous
-   versions of this toolchain was 8, which produces more compact structures. The
-   command line option -mstructure_size_boundary=<n> can be used to change this
-   value.  */
-#undef  STRUCTURE_SIZE_BOUNDARY
-#define STRUCTURE_SIZE_BOUNDARY arm_structure_size_boundary
-
-extern int arm_structure_size_boundary;
-
 /* A C expression whose value is nonzero if IDENTIFIER with arguments ARGS
    is a valid machine specific attribute for DECL.
    The attributes in ATTRIBUTES have previously been assigned to DECL.  */
diff --git a/gcc/config/arm/elf.h b/gcc/config/arm/elf.h
index 3b71229de7413b8b654908ae761e17a9cdddadf8..3e06891348531bbaf421e008dd28559a334e1dd0 100644
--- a/gcc/config/arm/elf.h
+++ b/gcc/config/arm/elf.h
@@ -172,15 +172,6 @@ Boston, MA 02111-1307, USA.  */
 #define MULTILIB_DEFAULTS { "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
 #endif
 
-/* Setting this to 32 produces more efficient code, but the value set in previous
-   versions of this toolchain was 8, which produces more compact structures. The
-   command line option -mstructure_size_boundary=<n> can be used to change this
-   value.  */
-#undef  STRUCTURE_SIZE_BOUNDARY
-#define STRUCTURE_SIZE_BOUNDARY arm_structure_size_boundary
-
-extern int arm_structure_size_boundary;
-
 /* A C expression whose value is nonzero if IDENTIFIER with arguments ARGS
    is a valid machine specific attribute for DECL.
    The attributes in ATTRIBUTES have previously been assigned to DECL.  */