bugGNUstep - Bugs: bug #9379, libobjc does not call all the...

Group
 
 

bug #9379: libobjc does not call all the +load methods defined in categories

Submitter:  Willem Rein Oudshoorn <wim>
Submitted:  Fri 18 Jun 2004 12:49:27 PM UTC
   
 
Category:  Libraries Severity:  1 - Wish
Item Group:  Bug Status:  Wont Fix
Privacy:  Public Assigned to:  gcasa
Open/Closed:  Declined
* Mandatory Fields

Add a New Comment Rich Markup
   

Mon 07 Jan 2008 04:51:51 PM UTC, comment #5: 

This is bug #16110 in the GCC bugzilla.   This is a gcc bug, not a GNUstep one.  I'm closing it here. 

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

GJC

Gregory John Casamento <gcasa>
Group administrator
Fri 04 Jan 2008 03:31:40 PM UTC, comment #4: 

This is verified, so it's still happening:

[heron@celia loadTest]$ obj/loadTest
Error, expected 4 calls to load, got: 3
[heron@celia loadTest]$ date
Fri Jan  4 10:28:29 EST 2008
[heron@celia loadTest]$

Should this be submitted to the GCC guys?

GJC

Gregory John Casamento <gcasa>
Group administrator
Thu 19 May 2005 12:18:11 PM UTC, comment #3: 

Changed category to Libraries.

Fred Kiefer <FredKiefer>
Group Member
Fri 18 Jun 2004 04:27:44 PM UTC, comment #2: 

I looked at it (I am not Nicola but the other libobjc maintainer) and it seems like a good start.  I will try it out to see if it can be improved.

Anonymous
Fri 18 Jun 2004 12:51:02 PM UTC, comment #1: 

Sorry, I did not understand how to attach multiple files
in the submission.  So here is the patch.

Willem Rein Oudshoorn <wim>
Group Member
Fri 18 Jun 2004 12:49:27 PM UTC, original submission:  

According to the specs when loading a category the 
+load method should be called (when defined).

This is not the case.  The attached program does show this.

The reason is that the runtime keeps track which modules
are loaded.  This list is used to determine if a +load
message should be sent.  However if a class "A" is defined
in the first module and a category "A(C)" in a later module
the runtime will think it does not need to send the
load anymore.

Also attached is a patch which will fix this. 
However, I someone (Nicola?) should take a look at this
patch, becuase there might be a more generic mechanism
to solve this problem. 

Finally, this also happens with the libobjc runtime of
gcc 3.2.1 (and I guess with other versions as well.)

But before I download gcc and fix it in the gcc source
I hope that someone can tell me which gcc version to
look at. 

Willem Rein Oudshoorn <wim>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #1419:  libobjc-init.patch added by wim (2KiB - application/octet-stream - Patch of libobjc\init.c )
file #1418:  loadTest.tar added by wim (10KiB - application/x-tar - loadTest, program showing the problem)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by gcasa (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2008-01-07 gcasa StatusNone Wont Fix
        Assigned toNone gcasa
        Open/ClosedOpen Declined
    2005-05-19 FredKiefer CategoryNone Libraries
    2004-06-18 wim Attached File- Added libobjc-init.patch, #1411
    2004-06-18 wim Attached File- Added loadTest.tar, #1410

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code