From owner-freebsd-hackers Fri Oct 23 14:01:16 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA09745 for freebsd-hackers-outgoing; Fri, 23 Oct 1998 14:01:16 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from portnoy.lbl.gov (portnoy.lbl.gov [131.243.2.11]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA09737 for ; Fri, 23 Oct 1998 14:01:14 -0700 (PDT) (envelope-from jin@portnoy.lbl.gov) Received: (from jin@localhost) by portnoy.lbl.gov (8.8.8/8.8.8) id OAA08835; Fri, 23 Oct 1998 14:00:37 -0700 (PDT) Date: Fri, 23 Oct 1998 14:00:37 -0700 (PDT) From: Jin Guojun (FTG staff) Message-Id: <199810232100.OAA08835@portnoy.lbl.gov> To: jdp@polstra.com Subject: Re: ld for loading dynamic library changed in 3.0-RELEASE? Cc: hackers@FreeBSD.ORG Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > Will elf/ld be modified to behave like other regular ld (or aout/ld) > > not trying to resolve the unused symbols? > > No, because it's a _bug_ that the a.out linker doesn't complain about > those undefined symbols. 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. Again, reporting such errors is the norm for linkers > on systems that have shared libraries. Our old a.out linker is simply > buggy. I should add that we've gotten a lot of complaints about that > particular bug. So no, I'm not going to add the same bug to our ELF > linker. I would like to restate this issue. As we discussed yesterday, you mentioned this tool/util is same as Linue uses. I am carefully tested this issue on a following Linux system: Linux 2000.lbl.gov 2.0.31 #1 Sun Nov 9 21:45:23 EST 1997 i686 unknown 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. I suggest that you may investigate this issue on different ELF systems to see if you are willing to revise what in you mind, not adding a bug but fix a bug in this ELF linker. Thanks, -Jin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message