From owner-freebsd-hackers Fri Oct 23 14:59:02 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA15869 for freebsd-hackers-outgoing; Fri, 23 Oct 1998 14:59:02 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from smtp04.primenet.com (smtp04.primenet.com [206.165.6.134]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA15864 for ; Fri, 23 Oct 1998 14:58:59 -0700 (PDT) (envelope-from tlambert@usr07.primenet.com) Received: (from daemon@localhost) by smtp04.primenet.com (8.8.8/8.8.8) id OAA23961; Fri, 23 Oct 1998 14:58:27 -0700 (MST) Received: from usr07.primenet.com(206.165.6.207) via SMTP by smtp04.primenet.com, id smtpd023922; Fri Oct 23 14:58:22 1998 Received: (from tlambert@localhost) by usr07.primenet.com (8.8.5/8.8.5) id OAA07507; Fri, 23 Oct 1998 14:58:21 -0700 (MST) From: Terry Lambert Message-Id: <199810232158.OAA07507@usr07.primenet.com> Subject: Re: ld for loading dynamic library changed in 3.0-RELEASE? To: jin@portnoy.lbl.gov (Jin Guojun) Date: Fri, 23 Oct 1998 21:58:20 +0000 (GMT) Cc: jdp@polstra.com, hackers@FreeBSD.ORG In-Reply-To: <199810232100.OAA08835@portnoy.lbl.gov> from "Jin Guojun" at Oct 23, 98 02:00:37 pm X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > Shared libraries are fundamentally different > > from archive libraries. With an archive library, the linker only > > loads those members (.o files) that are actually used. But a shared > > library is monolithic. You either load all of it or you load none > > of it. That means you aren't allowed to have undefined symbols at > > link time, even from portions of the shared library that you're not > > actually using. Actually, it's generally switchable as to whether or not you force the export of the unreferenced symbol space, or not, as a link-time option. I think the 2.9.1(?) ld has this feature... > The ld works exactly as other platforms, like Solaris (ELF), SunOS4 (not ELF), > FreeBSD 2.x (aout), without such a problem. If you argue this is aout bug, > I think the idea is wrong. All ELF system as I know, such as Solaris, Linux, > work are same as non-ELF system, except FreeBSD 3.0. Therefore, it is > FreeBSD 3.0 elf problem. Unless you believe every body else is wrong. Everyone else is wrong, but so is FreeBSD. See my other posting on expectation of use of shared object technology, and the implications of "broken". For one type of application, a.out is right and ELF is wrong. For another, ELF is right and a.out is wrong. For a third, both ELF and a.out are wrong. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message