swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Oh heck. Glibc 2.1 (was Re: Problem with tutorial for swarm-1.4.1


From: Marcus G. Daniels
Subject: Re: Oh heck. Glibc 2.1 (was Re: Problem with tutorial for swarm-1.4.1
Date: 13 May 1999 21:45:31 -0700

PJ> warning: type and size of dynamic symbol
PJ> `__objc_class_name_Grid2d' are not defined

MD> This is a long standing bug in the Objective C compiler that new
MD> versions of binutils makes evident.

Ok, I believe this should do it.  Works on Solaris and Debian, at least.

Thu May 13 22:40:03 1999  Marcus G. Daniels  <address@hidden>

        * objc/objc-act.c (handle_impent): In order to get type and
        size information, generate objc_{class,category}_name_* using
        assemble_variable instead of assemble_{global,label}.

Index: objc-act.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/objc/objc-act.c,v
retrieving revision 1.26
diff -c -r1.26 objc-act.c
*** objc-act.c  1999/04/14 20:28:54     1.26
--- objc-act.c  1999/05/13 23:55:21
***************
*** 8450,8459 ****
  
        else
        {
          sprintf (string, "%sobjc_class_name_%s",
                   (flag_next_runtime ? "." : "__"), class_name);
!         assemble_global (string);
!         assemble_label (string);
        }
      }
  
--- 8517,8540 ----
  
        else
        {
+           tree decl;
+ 
          sprintf (string, "%sobjc_class_name_%s",
                   (flag_next_runtime ? "." : "__"), class_name);
! 
!           decl = build_decl (VAR_DECL,
!                              get_identifier (string),
!                              void_type_node);
! 
!           TREE_PUBLIC (decl) = 1;
!           TREE_READONLY (decl) = 1;
!           TREE_CONSTANT (decl) = 1;
!           DECL_CONTEXT (decl) = NULL_TREE;
!           DECL_ARTIFICIAL (decl) = 1;
!           DECL_INITIAL (decl) = decl;
! 
!           make_decl_rtl (decl, NULL_PTR, 1);
!           assemble_variable (decl, 1, 0, 0);
        }
      }
  
***************
*** 8482,8492 ****
  
        else
        {
          sprintf (string, "%sobjc_category_name_%s_%s",
                   (flag_next_runtime ? "." : "__"),
                   class_name, class_super_name);
!         assemble_global (string);
!         assemble_label (string);
        }
      }
  }
--- 8563,8587 ----
  
        else
        {
+           tree decl;
+ 
          sprintf (string, "%sobjc_category_name_%s_%s",
                   (flag_next_runtime ? "." : "__"),
                   class_name, class_super_name);
! 
!           decl = build_decl (VAR_DECL,
!                              get_identifier (string),
!                              void_type_node);
! 
!           TREE_PUBLIC (decl) = 1;
!           TREE_READONLY (decl) = 1;
!           TREE_CONSTANT (decl) = 1;
!           DECL_CONTEXT (decl) = NULL_TREE;
!           DECL_ARTIFICIAL (decl) = 1;
!           DECL_INITIAL (decl) = decl;
! 
!           make_decl_rtl (decl, NULL_PTR, 1);
!           assemble_variable (decl, 1, 0, 0);
        }
      }
  }

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]