[openbeosnetteam] Re: libnet fix

  • From: "Philippe Houdoin" <philippe.houdoin@xxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Wed, 18 Jun 2003 22:52:03 GMT

> > You mean he's defined by current/headers/posix/resolv.h, and
> > declared in current/src/kits/network/libnet/res_init.c, right?
> 
> No, that's not it. In the header it's defined, (extern), in the
> implementation it's declared. And there's nowhere else a _res in the
> source of libnet.

_res is (well, was, after your last commits) declared in res_init.c:

[...]

/* 
 * Resolver state default settings. 
 */ 

struct __res_state _res 
# if defined(__BIND_RES_TEXT) 
        = { RES_TIMEOUT, }      /* Motorola, et al. */ 
# endif 
        ; 
#ifdef INET6 
struct __res_state_ext _res_ext; 
#endif /* INET6 */ 

[...] 
 
> > 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?

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

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

Which is strange.
Do you install the so-called fixed ld linker, or are you still using 
the BeOS R5 one?

-Philippe

--
Fortune Cookie Says:

Barth's Distinction:
        There are two types of people: those who divide people into two
types, and those who don't.


Other related posts: