Glibc 2.2 is broken
H . J . Lu
hjl@lucon.org
Wed Jul 19 17:09:00 GMT 2000
On Wed, Jul 19, 2000 at 04:52:07PM -0700, H . J . Lu wrote:
> # netscape
> /usr/lib/netscape/netscape-communicator: Symbol `_res' has different size in shared object, consider re-linking
> (dns helper): Symbol `_res' has different size in shared object, consider re-linking
> zsh: 1833 bus error netscape
>
> We should provide symbol versioning for it.
>
BTW, due to the copy relocation on ia32, the definition in the main
executable is used. On ia32, we can only shrink the size of data in
libc.so, not enlarg it. It has to be fixed.
The new struct __res_state looks strange:
union {
char pad[52]; /* On an i386 this means 512b total. */
struct {
u_int16_t nscount;
u_int16_t nstimes[MAXNS]; /* ms. */
int nssocks[MAXNS];
struct sockaddr_in nsaddrs[MAXNS];
} _ext;
} _u;
The total size of __res_state is 528 bytes now. The comments for i386
no longer applies. I don't know why it is still there. Besides size of
_u._ext is 68 bytes. Did I miss something?
H.J.
More information about the Libc-hacker
mailing list