[openbeosnetteam] Re: libnet fix

Niels Reedijk wrote:

> > /*
> >  * Resolver state default settings.
> >  */
> > 
> > struct __res_state _res
> > # if defined(__BIND_RES_TEXT)
> >         = { RES_TIMEOUT, }      /* Motorola, et al. */
> > # endif

> Yes, but that's the point. The _res in the header points to that _res.
right

> 
> > > > Can you tell me on which target this error, well, warning, raise?
> > >
> > > This is during link time.
> > 
> > Yes, but of what OBOS networking kit part?
> > ifconfig? ping? libnet.so itself?
The warning is issued when our libnet.so is created.
Not only is tha warning printed, the linker also creates
our libnet.so to *import* the _res symbol, which is wrong.

> Any OBOS after doing a 'jam install-networkign' would give this error.
You are talking about the missing symbol "_res" problem.

> > > During link time the linker looks up the undefined
> > > references and finds _ref in res_init.o. However, a library that
> > > libnet.so is linked against, also has a _ref. The size of the _ref
> in
> > > res_init.o is 512 bytes. The size of the other _ref is 376.
> > 
> > That make sense.
Yes, but libnet.so should *not* be linked against anything that has this symbol

> > > According to
> > > the documentation, the linker then chooses the largest, which would
> > > comply with the ours, however, in our case the linker chooses to keep
> > > the reference undefined (and doesn't link it to any _res).
(another) linker bug?

Marcus




Other related posts: