Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Sep 1998 21:40:01 -0700 (PDT)
From:      Brian Cully <shmit@kublai.com>
To:        freebsd-bugs@FreeBSD.ORG
Subject:   Re: gnu/7811: Patch to build Objective C library shared
Message-ID:  <199809090440.VAA06369@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR gnu/7811; it has been noted by GNATS.

From: Brian Cully <shmit@kublai.com>
To: Martin Cracauer <cracauer@cons.org>, FreeBSD-gnats-submit@FreeBSD.ORG
Cc:  Subject: Re: gnu/7811: Patch to build Objective C library shared
Date: Wed, 9 Sep 1998 00:34:52 -0400

 On Mon, Sep 07, 1998 at 06:00:41PM +0200, Martin Cracauer wrote:
 > The lib is < 80 KB. That isn't worth the slowdown, IMHO.
 
 You are probably correct. I hadn't done any timings to gauge the
 effects of the slowdown. I'm not sure whether or not it's a good
 idea anymore. Without the shared bits, you lose when changing base
 objects between revisions, which is one of Objective C's strong
 points (due to it's run-time indirection of methods). I don't think
 you run into the FBC that C++ does. Unfortunately, you lose on
 method call overhead.
 
 > The right thing might be to pull the method lookup functions into a
 > seperate library that is static only and the rest into a dynamic
 > library, but I think that will break most application Makefiles
 > respectivly configure scripts.
 
 This is the right thing to do. But:
 	1) This is GNU stuff, and I'm not particularly willing to
 	   maintain libobjc seperately from GNU (nor do I think the
 	   FreeBSD project is willing). So I'd have to write my
 	   own, or find another implementation (preferably with a
 	   nice BSD copyright).
 	2) Even if I were willing, the only way I can see it being
 	   done without breaking everybody's stuff (as you've noted)
 	   would be to make libobjc contain the method lookup function
 	   and link it statically, but have it call dlopen() to find
 	   the object definitions. This would require that all ObjC
 	   apps be compiled shared, which wouldn't be horrific, but
 	   smacks to much of Solaris facism for my taste.
 
 -bjc

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809090440.VAA06369>