[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Re: BFD relocations
From: |
Camm Maguire |
Subject: |
Re: [Gcl-devel] Re: BFD relocations |
Date: |
27 Jul 2002 12:07:57 -0400 |
Greetings, and thanks for your reply!
Alan Modra <address@hidden> writes:
> On Sat, Jul 27, 2002 at 12:59:04AM -0400, Camm Maguire wrote:
> > Greetings!
> >
> > When called to retrieve non-relocatable output (i.e. with the
> > output_bfd parameter set to 0), bfd_get_relocated_section_contents
> > works on the following platforms:
> >
> > elf: i386 ppc s390 m68k arm sparc
> >
> > The following platforms fail:
> >
> > elf: mips alpha ia64 hppa
> > coff: i386
> >
> > 1) Is it intended to support this routine on all platforms eventually?
>
> What itch will it scratch?
>
In lisp, one frequently wants to load an object *at a specific
address* into a running program, incorporate the object in the
program's data structures, and execute the object as necessary. gcl
makes use of this functionality. Later, when a lisp image is saved,
the loaded objects are automatically incorporated in it. To my
understanding, this cannot be achieved via dlopen.
> > 2) Are patches enabling this function likely to be accepted rather
> > easily, or are they likely to break other currently used
> > routines?
>
> Implementing this function likely won't break anything.
>
Great!
> > 3) Are there recommended guidelines for such patches? I.e. relatively
> > safe places for modifications?
>
> You'll likely need to implement missing special_function entries for
> reloc howto structures. It may work out easier in some cases to
> implement a new get_relocated_section_contents function rather than
> trying to use bfd_generic_get_relocated_section_contents.
>
OK. A standalone get_relocated_section_contents function per arch
seems the way to go. I was contemplating modifying the lower level
functions on the order of mips_elf_hi16_reloc, etc., but this does
seem more dangerous.
The way I'd go about this is to follow what ld does in a debugger. Is
there a better source of information somewhere?
Also, is there a reason why some arches currently work and others
don't? I.e., is it just oversight thus far due to the fact that no
one uses the get_relocated_section_contents, or are there arch
specific difficulties which make such a function hard on certain
platforms, e.g. the gp_disp, etc.?
Take care,
> --
> Alan Modra
> IBM OzLabs - Linux Technology Centre
>
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah