From owner-freebsd-bugs Sun Sep 7 05:20:03 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id FAA15587 for bugs-outgoing; Sun, 7 Sep 1997 05:20:03 -0700 (PDT) Received: (from gnats@localhost) by hub.freebsd.org (8.8.7/8.8.7) id FAA15572; Sun, 7 Sep 1997 05:20:01 -0700 (PDT) Resent-Date: Sun, 7 Sep 1997 05:20:01 -0700 (PDT) Resent-Message-Id: <199709071220.FAA15572@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, am@amsoft.ru Received: from amsoft.ru (amsoft.ru [194.87.86.241]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id FAA15500 for ; Sun, 7 Sep 1997 05:18:21 -0700 (PDT) Received: (from am@localhost) by amsoft.ru (8.8.5/amsoft/1.0) id OAA00849 ; Sun, 7 Sep 1997 14:46:47 +0400 (MSD) Message-Id: <199709071046.OAA00849@amsoft.ru> Date: Sun, 7 Sep 1997 14:46:47 +0400 (MSD) From: Andrew Maltsev Reply-To: am@amsoft.ru To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: misc/4482: dynamic loader design bug Sender: owner-freebsd-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 4482 >Category: misc >Synopsis: A bug in dynamic loader design >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Sep 7 05:20:01 PDT 1997 >Last-Modified: >Originator: Andrew Maltsev >Organization: AM'SOFT >Release: FreeBSD 2.2-RELEASE i386 >Environment: >Description: When dynamic loader places shered object into address space of an executable all symbols, which are presnet both in `main' executable and in loaded shared object, are resolved from `main'. It's a bug I think. They should be resolved first from object's internal symbols. And going deeper I think, that there should be a flag, by which clashed symbols in main and object should be rearranged to use object's ones after it's loading even if `main' has it's own ones. This will greatly simplify plug-in's development. Especially those plug-in's which are developed as a `bug-fixes' for large binary-distributed executables. Developer may say then to his customers 'just drop that bug fix into `bugfixes' directory and your ploblem will go away' -- nice and more and more demanded feature, I think. >How-To-Repeat: unpack and say `make test' begin 600 FreeBSD-dl-bug.tgz M'XL(`)J%$C0``^V77T_;,!#`^QI_BEL!->W:D(2TD2ES/DFM1R(1,'$-`FT!'N0B,X_W*LEE#K@=D89C&MFV@!A:0AQ3;!AT)9S::1B'MF0'L] M%UX!FCO'T(7J-W2J/*%N'E4^DJ(7S]((Y% M"EP$(8Q%F'$&WS=DK0L;$G-H3A8(.4L2D9CU?"&$742I62P+5[/>5;3H7UZ. M32F:T]C+"/)4%\:`_WLXXWQJ>Q_WJ#KQCTY"3KF0#/W7%[O*IQ^>+T#"TBR) MP59[_-1OMN8^S/7_#\$/+'3.ENKCCOX/>.Q/SW_;W[)5__?;KN[_JZ"___[U MVR/C>0]:GP/.H37\>-`G!(==0S5H*-L\(2F3:=?`*6+L,#H24-V+$IP$BK(J M"JW\_@"J^Y8J!W&X6&D0)*7280PU*A*E5P-Y*5,VAH%(1V@DF00Y$AD/L5MA M9Z(,V,\LX""R]"Q+\?"AG`5QEQC)&*.'V:"A80G`E9G5(/F!4V1E46*<4`KK M9I%_'5H"UG=@'8^ZTK9K8!YHCH%:F`\&T-J5>/*P8(#ML31XZAW\.^;J7V6\ M[.O?G?7OV)VR_MNNNO^[KM?6];\*%MS_%M_FBK*XX3[WU%EH'LI<_:M>M_+Z MAXY_??ZWB_IW]???2KBI_LLOE[P9X&N1-X.)4!>\1J/1:#0:C4:CT6@T&HU& .H]'\\_P!UO$)P@`H``"I ` end >Fix: Don't know. It may be hard to fix or not - just don't know.. >Audit-Trail: >Unformatted: