This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug objc/16546] [4.0 Regression] [unit-at-a-time] Solaris 10/x86 libobjc bootstrap failure: invalid assembler code


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-28 03:30 -------
Can you try this patch (I am testing it right now on powerpc-darwin for the NeXT runtime), the code I 
am removing dates back before EGCS:
Index: objc-act.c
===============================================================
====
RCS file: /cvs/gcc/gcc/gcc/objc/objc-act.c,v
retrieving revision 1.248
diff -u -p -r1.248 objc-act.c
--- objc-act.c	24 Sep 2004 23:15:33 -0000	1.248
+++ objc-act.c	28 Sep 2004 03:29:33 -0000
@@ -3754,9 +3754,6 @@ static void
 generate_method_descriptors (tree protocol)
 {
   tree initlist, chain, method_list_template;
-  tree variable_length_type
-    = xref_tag (RECORD_TYPE,
-		get_identifier (UTAG_METHOD_PROTOTYPE_LIST));
   int size;
 
   if (!objc_method_prototype_template)
@@ -3779,7 +3776,6 @@ generate_method_descriptors (tree protoc
 	= generate_descriptor_table (method_list_template,
 				     "_OBJC_PROTOCOL_CLASS_METHODS",
 				     size, initlist, protocol);
-      TREE_TYPE (UOBJC_CLASS_METHODS_decl) = variable_length_type;
     }
   else
     UOBJC_CLASS_METHODS_decl = 0;
@@ -3800,7 +3796,6 @@ generate_method_descriptors (tree protoc
 	= generate_descriptor_table (method_list_template,
 				     "_OBJC_PROTOCOL_INSTANCE_METHODS",
 				     size, initlist, protocol);
-      TREE_TYPE (UOBJC_INSTANCE_METHODS_decl) = variable_length_type;
     }
   else
     UOBJC_INSTANCE_METHODS_decl = 0;
@@ -4484,8 +4479,6 @@ static void
 generate_ivar_lists (void)
 {
   tree initlist, ivar_list_template, chain;
-  tree variable_length_type
-    = xref_tag (RECORD_TYPE, get_identifier (UTAG_IVAR_LIST));
   int size;
 
   generating_instance_variables = 1;
@@ -4507,7 +4500,6 @@ generate_ivar_lists (void)
       UOBJC_CLASS_VARIABLES_decl
 	= generate_ivars_list (ivar_list_template, "_OBJC_CLASS_VARIABLES",
 			       size, initlist);
-      TREE_TYPE (UOBJC_CLASS_VARIABLES_decl) = variable_length_type;
     }
   else
     UOBJC_CLASS_VARIABLES_decl = 0;
@@ -4522,7 +4514,6 @@ generate_ivar_lists (void)
       UOBJC_INSTANCE_VARIABLES_decl
 	= generate_ivars_list (ivar_list_template, "_OBJC_INSTANCE_VARIABLES",
 			       size, initlist);
-      TREE_TYPE (UOBJC_INSTANCE_VARIABLES_decl) = variable_length_type;
     }
   else
     UOBJC_INSTANCE_VARIABLES_decl = 0;
@@ -4654,8 +4645,6 @@ static void
 generate_dispatch_tables (void)
 {
   tree initlist, chain, method_list_template;
-  tree variable_length_type
-    = xref_tag (RECORD_TYPE, get_identifier (UTAG_METHOD_LIST));
   int size;
 
   if (!objc_method_template)
@@ -4678,7 +4667,6 @@ generate_dispatch_tables (void)
 				    ? "_OBJC_CLASS_METHODS"
 				    : "_OBJC_CATEGORY_CLASS_METHODS"),
 				   size, initlist);
-      TREE_TYPE (UOBJC_CLASS_METHODS_decl) = variable_length_type;
     }
   else
     UOBJC_CLASS_METHODS_decl = 0;
@@ -4704,7 +4692,6 @@ generate_dispatch_tables (void)
 	  = generate_dispatch_table (method_list_template,
 				     "_OBJC_CATEGORY_INSTANCE_METHODS",
 				     size, initlist);
-      TREE_TYPE (UOBJC_INSTANCE_METHODS_decl) = variable_length_type;
     }
   else
     UOBJC_INSTANCE_METHODS_decl = 0;


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|regression                  |objc


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16546


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]