delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1998/12/07/11:52:06

Date: Mon, 7 Dec 1998 11:52:02 -0500
Message-Id: <199812071652.LAA24659@envy.delorie.com>
From: DJ Delorie <dj AT delorie DOT com>
To: djgpp-workers AT delorie DOT com
CC: djgpp-workers AT delorie DOT com
In-reply-to: <366C0171.AACE7F0@cyberoptics.com> (message from Eric Rudd on
Mon, 07 Dec 1998 10:25:21 -0600)
Subject: Re: libc math function upgrade work
References: <199810191414 DOT KAA25670 AT indy DOT delorie DOT com>
<36696383 DOT 3E66693A AT cyberoptics DOT com> <199812051723 DOT MAA30930 AT envy DOT delorie DOT com> <366C0171 DOT AACE7F0 AT cyberoptics DOT com>
Reply-To: djgpp-workers AT delorie DOT com

> double exp2(double x) {
>    return pow2(x);
> }

Do an "nm" on your libc.a and make sure that object has both _exp2 and
___pow2 global.  This shouldn't work.  Consider:

main.o:
T _exp2
U _pow2

stub.o:
T _pow2
U ___pow2

libc.o:
T _exp2
T ___pow2

Now, you link main.o, you get _exp2 and need _pow2.  Adding the stub
resolves _pow2, but needs ___pow2.  Adding libc resolves ___pow2 but
now you have two _exp2.  That should fail.

- Raw text -


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