This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: errors with hidden symbols and apache


On Fri, Sep 03, 2004 at 04:34:09PM -0700, Richard Henderson wrote:
> On Fri, Sep 03, 2004 at 04:17:30PM -0700, Edward Peschko wrote:
> > On Fri, Sep 03, 2004 at 04:08:53PM -0700, Richard Henderson wrote:
> > > I suspect that you linked using ld, and not with the gcc driver.
> > > Which would be incorrect.
> > > 
> > > r~
> > 
> > given that the command to do the linking was ...
> 
> I did not mean the main application.  I mean that one of the
> libraries (against which the main application is being linked)
> has already been linked incorrectly.
> 
> The error message given doesn't actually say which library is
> referencing the symbol in question, but there are only a couple
> listed that aren't Solaris system libraries.  Which limits the
> possibilities.
> 
> Use 'readelf -r libfoo.so | grep __floatdisf' to find out which.

ok, well I found the symbol (defined) symbol in libhttpd.ep and libhttpd.so.
I went further and found out that it was linked incorrectrly vbthey get to be defined there? I looked 
again at the linking statement, and indeed it was ld:

ld -G ....

I change this to 

gcc -G ...

and it works fine..

So I guess my question is why the need for a separate linker? Why don't 
you always use gcc instead of ld and have it get passed to the right linker?
Why even support binutils as a separate package?

Ed


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]