This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug objc/16546] [4.0 Regression] [unit-at-a-time] Solaris 10/x86 libobjc bootstrap failure: invalid assembler code
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Sep 2004 03:30:52 -0000
- Subject: [Bug objc/16546] [4.0 Regression] [unit-at-a-time] Solaris 10/x86 libobjc bootstrap failure: invalid assembler code
- References: <20040714171926.16546.ro@techfak.uni-bielefeld.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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