X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <10112022040.AA14303@clio.rice.edu> Subject: Re: Building a profiled version of libc To: djgpp-workers AT delorie DOT com, rich AT phekda DOT freeserve DOT co DOT uk Date: Sun, 2 Dec 2001 14:40:18 -0600 (CST) In-Reply-To: <3C0A0D35.B45C0E74@phekda.freeserve.co.uk> from "Richard Dawe" at Dec 02, 2001 11:15:01 AM X-Mailer: ELM [version 2.5 PL2] Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Charles Sandmann wrote: > [snip] > > > ./../../lib/libc.a(_write.o)(.text+0x0):_write.c: multiple definition > > > of `_write' > > > src/emudummy.o(.text+0x10):emudummy.c: first defined here > > > make.exe: *** [../../bin/emu387.dxe] Error 1 > [snip] > > The original emu387.dxe builds only used _write for some debugging > > messages you should never see unless there were bugs. If we are pulling > > in the version of _write from the library it should only be if we are > > referencing a different symbol in the same _write module somewhere else. > > Yes, that's exactly the problem. I needed to stub out _write_int() and > _write_fill_seek_gap() too. Profiling isn't going to work in a DXE so we should stub out at a higher level by adding the following line to emudummy.c: void mcount(int _to) {} I think this should allow the DXE which is built to work, but allow the library built with profiling to also work inside an image. The DXE would have some dead code in it, and no more useful than the standard DXE, but would at least hopefully link without problems. If we are calling any new functions other than mcount we would have to add them to the emudummy.c also.