delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/12/02/15:44:54

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
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

> 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.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019