diff -Nrcpad gcc-4.0.1/gcc/objc/ChangeLog gcc-4.0.2/gcc/objc/ChangeLog
*** gcc-4.0.1/gcc/objc/ChangeLog	Thu Jul  7 18:39:16 2005
--- gcc-4.0.2/gcc/objc/ChangeLog	Wed Sep 21 03:57:12 2005
***************
*** 1,3 ****
--- 1,7 ----
+ 2005-09-20  Release Manager
+ 
+ 	* GCC 4.0.2 released.
+ 
  2005-07-07  Release Manager
  
  	* GCC 4.0.1 released.
diff -Nrcpad gcc-4.0.1/libobjc/ChangeLog gcc-4.0.2/libobjc/ChangeLog
*** gcc-4.0.1/libobjc/ChangeLog	Thu Jul  7 18:41:09 2005
--- gcc-4.0.2/libobjc/ChangeLog	Wed Sep 21 03:58:35 2005
***************
*** 1,3 ****
--- 1,14 ----
+ 2005-09-20  Release Manager
+ 
+ 	* GCC 4.0.2 released.
+ 
+ 2005-09-04  Andrew Pinski  <pinskia@physics.uc.edu>
+             Rasmus Hahn  <rassahah@neofonie.de>
+ 
+ 	PR libobjc/23108
+ 	* archive.c (objc_write_type): Correct the element offset.
+ 	(objc_read_type): Likewise.
+ 
  2005-07-07  Release Manager
  
  	* GCC 4.0.1 released.
diff -Nrcpad gcc-4.0.1/libobjc/archive.c gcc-4.0.2/libobjc/archive.c
*** gcc-4.0.1/libobjc/archive.c	Wed Mar  2 20:12:17 2005
--- gcc-4.0.2/libobjc/archive.c	Sun Sep  4 17:07:46 2005
*************** objc_write_type (TypedStream *stream, co
*** 1069,1075 ****
        while (*type != _C_STRUCT_E)
  	{
  	  align = objc_alignof_type (type);       /* padd to alignment */
! 	  acc_size += ROUND (acc_size, align);
  	  objc_write_type (stream, type, ((char *) data) + acc_size);
  	  acc_size += objc_sizeof_type (type);   /* add component size */
  	  type = objc_skip_typespec (type);	 /* skip component */
--- 1069,1075 ----
        while (*type != _C_STRUCT_E)
  	{
  	  align = objc_alignof_type (type);       /* padd to alignment */
! 	  acc_size = ROUND (acc_size, align);
  	  objc_write_type (stream, type, ((char *) data) + acc_size);
  	  acc_size += objc_sizeof_type (type);   /* add component size */
  	  type = objc_skip_typespec (type);	 /* skip component */
*************** objc_read_type(TypedStream *stream, cons
*** 1165,1171 ****
        while (*type != _C_STRUCT_E)
  	{
  	  align = objc_alignof_type (type);       /* padd to alignment */
! 	  acc_size += ROUND (acc_size, align);
  	  objc_read_type (stream, type, ((char*)data)+acc_size);
  	  acc_size += objc_sizeof_type (type);   /* add component size */
  	  type = objc_skip_typespec (type);	 /* skip component */
--- 1165,1171 ----
        while (*type != _C_STRUCT_E)
  	{
  	  align = objc_alignof_type (type);       /* padd to alignment */
! 	  acc_size = ROUND (acc_size, align);
  	  objc_read_type (stream, type, ((char*)data)+acc_size);
  	  acc_size += objc_sizeof_type (type);   /* add component size */
  	  type = objc_skip_typespec (type);	 /* skip component */
