This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] fix build failure in solib-som.c


On Wed, 8 Aug 2007 10:44:37 -0700
Joel Brobecker <brobecker@adacore.com> wrote:

> Hi Kevin,
> 
> > > > > 2007-08-07  Joel Brobecker  <brobecker@adacore.com>
> > > > > 
> > > > >         * solib-som.c (som_relocate_section_addresses): Stop saving
> > > > >         the $CODE$ section in the so_list structure.
> > > > > 
> > > > > This files compiles fine again after this change is applied.
> > > > > 
> > > > > Would that be OK to apply?
> > > > 
> > > > I think it would be better to revise the code to set so->addr_low and
> > > > so->addr_high to sec->addr and sec->endaddr respectively.  You'll also
> > > > have to move this block of code to the end of the function.
> > > 
> > > Isn't that already done in som_current_sos, though?
> > 
> > It is, but those addresses won't be relocated.  In order to be
> > consistent with the other ports, I think these values should be
> > relocated.  Note that solib.c's solib_map_sections() sets `addr_low'
> > and `addr_high' for .text after the relocation has been done.  Clearly
> > this won't work for SOM since the .text section is named differently. 
> > However, given that `addr_low' and `addr_high' are set after the
> > relocation has been performed (for other ports with a .text), I think
> > it makes sense to arrange the SOM-specific code as suggested in my
> > earlier reply.  I'm beginning to think too that the assignments to
> > addr_low and addr_high ought to be removed from som_current_sos().
> 
> I had a closer look. I don't think we need to relocate the addr_low
> and addr_high addresses, because they were extracted from the load
> map info (which I would imagine would contain already relocated
> addresses). This is in som_current_sos.

Ah, okay.

> This is only by luck, but it looks like my original patch still
> makes sense, no? I did a quick test by running any program, and
> doing a "info sharedlibrary", and it looks likes the addresses
> are indeed relocated (they don't correspond to the $CODE$ or $TEXT$
> addresses printed by objdump).

Sounds good.  Go ahead and check in your original patch.

Kevin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]