This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: PATCH: Fix prelink for mips
- From: "H . J . Lu" <hjl at lucon dot org>
- To: Ulrich Drepper <drepper at redhat dot com>
- Cc: GNU C Library <libc-alpha at sources dot redhat dot com>
- Date: Thu, 17 Jan 2002 15:00:04 -0800
- Subject: Re: PATCH: Fix prelink for mips
- References: <20020117124132.A4354@lucon.org> <m37kqgbngo.fsf@myware.mynet>
On Thu, Jan 17, 2002 at 02:51:35PM -0800, Ulrich Drepper wrote:
> "H . J . Lu" <hjl@lucon.org> writes:
>
> > Here is a patch to make trunk to compile for mips. I looked at the
> > prelink on mips. I don't think the generic prelink code will work for
> > mips. When one day I find time, I will implement quickstart for mips.
> > That means mips will have a very different dl-conflict.c. I also need
> > to change the structure of the prelink command for mips if I don't
> > want to start from the scratch. For the time being, this is the best
> > I can do.
>
> I don't see why this patch is *necessary*. You should have no
> problems compiling and using ld.so on MIPS since the code should be
> portable and if the applications are not prelinked, the new code isn't
> called.
Some patch is necessary since mips doesn't have elf_machine_rela. You
can define a dummy elf_machine_rela in sysdeps/mips/dl-machine.h. But
...
>
> Whether or not it can be implemented on MIPS is another question.
> Prelinking has advantages over SGI's quickstart so it's certainly
> desirable to try implementing preload. If this is not possible we
> still can move the file or make other changes which allow using it in
> all situations. It should not be necessary today, though.
The problem is the MIPS ABI is written for quickstart. It is very
different from other ELF ABIs. I don't believe we can implement
prelink with that ABI. However, I do believe we can implement
quickstart similar to prelink. As long as we don't change the MIPS
ABI, mips can't use the current elf/dl-conflict.c. But I don't see
we should change elf/dl-conflict.c just for mips. I prefer to have
a dl-conflict.c specific to mips.
H.J.