This is the mail archive of the gcc-patches@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]

objc gnu runtime losage


The gnu runtime is currently failing everywhere because (at least
for NXConstStr.m) we are failing to generate a proper symtab for
_OBJ_MODULES.

With gcc 3.0 I get 

_OBJC_MODULES:
        .quad 8
        .quad 32
        .quad _OBJC_CLASS_NAME_2
        .quad _OBJC_SYMBOLS

With gcc 3.1 I get

        .quad 8
        .quad 32
        .quad _OBJC_CLASS_NAME_2
        .quad 0

The NULL pointer there results in a crash at libobjc/init.c:461.

I have been unable to figure out why the logic in 3.1 is wrong,
but the following patch appears to kludge a usable result.  Would
yall look at this ASAP so that we can get the regression tester
back on solid ground?



r~


Index: objc-act.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/objc/objc-act.c,v
retrieving revision 1.97
diff -c -p -d -u -r1.97 objc-act.c
--- objc-act.c	2001/10/03 22:05:56	1.97
+++ objc-act.c	2001/10/12 01:30:07
@@ -8095,7 +8095,7 @@ finish_objc ()
   if (objc_static_instances)
     generate_static_references ();
 
-  if (objc_implementation_context || class_names_chain
+  if (1 || objc_implementation_context || class_names_chain
       || meth_var_names_chain || meth_var_types_chain || sel_ref_chain)
     generate_objc_symtab_decl ();
 


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