Re: Achieving binary compatibility for 7/8/9

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I wonder if you could ship your own nss libs and LD_PRELOAD them before
the application start.

You may also bbe able to define your own loader rather than libc's - just
give your own definition of _start and give -nostartfiles (I think).

Of course, if the LD_PRELOAD trick works, that's much better.

Jon

On Sat, 19 Apr 2003, [iso-8859-1] Peter Åstrand wrote:

> > Have you run a debugger to see _why_ gethostbyname is failing?
>
> The program I'm testing is:
>
> #include <netdb.h>
> #include <stdio.h>
>
> int main()
> {
>     struct hostent * hp;
>
>     if ( (hp = gethostbyname("localhost")) == NULL )
>         printf("gethostbyname failed\n");
>     return 0;
> }
>
> >From gdb:
>
> (gdb) run
> Starting program: /root/a.out
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x08080c09 in _dl_relocate_object ()
> (gdb) bt
> #0  0x08080c09 in _dl_relocate_object ()
> #1  0x080758ef in dl_open_worker ()
> #2  0x0806248b in _dl_catch_error ()
> #3  0x08075ae3 in _dl_open ()
> #4  0x0806353e in do_dlopen ()
> #5  0x0806248b in _dl_catch_error ()
> #6  0x08063431 in __libc_dlopen ()
> #7  0x0805c682 in __nss_lookup_function ()
> #8  0x0805cd0a in __nss_lookup ()
> #9  0x0805d4f3 in __nss_hosts_lookup ()
> #10 0x0804d35c in gethostbyname_r ()
> #11 0x0804d157 in gethostbyname ()
> #12 0x0804820c in main ()
> #13 0x0804830a in __libc_start_main ()
>
> > I see absolutely no reason for a statically linked binary to fail on any
> > system, unless it is using network communication whose protocol has
> > changed or a config file whose format has changed.
>
> I also wished this was the case, but it seems like it doesn't work if the
> static binaires uses NSS. Take a look at
> http://lists.debian.org/debian-glibc/2002/debian-glibc-200210/msg00093.html:
>
>   From: Roland McGrath <roland@xxxxxxxxxx>
>   ...
>   I'm afraid you are SOL if you want to use stock glibc 2.3 with those old
>   static binaries.
>   ...
>
> > Are you sure you aren't LD_PRELOADing anything?
>
> Yes.
>
> --
> Peter Åstrand		www.thinlinc.com
> Cendio Systems		www.cendio.se
> Teknikringen 3		Phone: +46-13-21 46 00
> 583 30 Linköping
>
>
>
> _______________________________________________
> Redhat-devel-list mailing list
> Redhat-devel-list@xxxxxxxxxx
> https://listman.redhat.com/mailman/listinfo/redhat-devel-list
>



_______________________________________________
Redhat-devel-list mailing list
Redhat-devel-list@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/redhat-devel-list

[Index of Archives]     [Kernel Newbies]     [Red Hat General]     [Fedora]     [Red Hat Install]     [Linux Kernel Development]     [Yosemite News]

  Powered by Linux