prelink ok?
tong changda
tongcd@hotmail.com
Thu Jun 30 00:45:00 GMT 2005
Hello
I had applied the prelink on my Intel Xscale PDA, It quicken things
much faster, It is a wonderful tool.
But I still thought prelink should be give UND symbol the address on
embedded device. Only for PC, we should care shared library or binary is
usable when prelinking can't be used.
I found the sequence of resolving UND symbol according the ldd result,
So I want to place the most-likely library to be the first lib that relied,
Is there a tool to change the sequence of library relies without recompile
the source code?
>From: Jakub Jelinek <jakub@redhat.com>
>Reply-To: Jakub Jelinek <jakub@redhat.com>
>To: tong changda <tongcd@hotmail.com>
>CC: libc-alpha@sources.redhat.com
>Subject: Re: prelink ok?
>Date: Wed, 15 Jun 2005 07:54:32 +0200
>
>On Wed, Jun 15, 2005 at 11:27:10AM +0800, tong changda wrote:
> > Hello everybody
> > sorry if not proper to ask here
> >
> > I use prelink on arm dynamic library and execute file. prelink -av
finished
> > without warning, but readelf shows some unexpects:
> >
> > /lib/libavformat.so.1 420b8000-420fb8b8
> > 0x00000001 (NEEDED) Shared library: [libc.so.6]
> > .....
> > 57: 420faacc 32 OBJECT GLOBAL DEFAULT 13 pam_image_format
> > 58: 00000000 252 FUNC GLOBAL DEFAULT UND strchr@GLIBC_2.0 (2)
> >
> > our symbol external is left unsolved, but local symbol are solved the
> > address normally,
> > I think after prelink there should be no UND symbol,Did I compile the
> > library the wrong way?
>
>prelink doesn't change undefined symbols in this way.
>All it does is 1) relocate the shared library to a certain fixed address
>2) apply relocations 3) prepare things for the dynamic linker, so that if
>all libraries and the binary are mapped in the right places and have not
>been changed since prelinking, ld.so can skip all the relocation handling
>and instead just apply some fixups
>The shared libraries must still be usable even when prelinking can't be
>used. So e.g. the changing of undefined symbols you are expecting
>(why?) certainly must not be done, as otherwise the shared library
>or binary wouldn't be usable when prelinking can't be used.
>Please read prelink's documentation if you want to know more.
>
> Jakub
_________________________________________________________________
ÃÃÃÃÃýçÃÃÃî´óµÃµçÃÃÃüþõó¡ª MSN Hotmail¡£ http://www.hotmail.com
More information about the Libc-alpha
mailing list