This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: arm-wince-pe support resurrection
- From: Dmitry Semyonov <Dmitry dot Semyonov at oktet dot ru>
- To: Nick Clifton <nickc at redhat dot com>
- Cc: <binutils at sources dot redhat dot com>
- Date: Thu, 8 Jan 2004 13:37:24 +0300 (MSK)
- Subject: Re: arm-wince-pe support resurrection
- Reply-to: <Dmitry dot Semyonov at oktet dot ru>
Nick,
On Fri, 2 Jan 2004, Nick Clifton wrote:
> >> > What was the purpose of this part of the patch ?
> >
> > Nothing shall be relocated inside raw sections data during partial
> > linking if howto->partial_inplace is set to FALSE.
> > *** coff-arm.c.1.49 Wed Dec 17 21:29:45 2003
> > --- coff-arm.c Fri Dec 19 23:07:11 2003
> > *************** coff_arm_relocate_section (output_bfd, i
> > *** 1734,1743 ****
> > #endif
> > else
> > #endif /* THUMBEXTENSION */
> > ! rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
> > ! contents,
> > ! rel->r_vaddr - input_section->vma,
> > ! val, addend);
> > #if 1 /* THUMBEXTENSION */
> > /* FIXME:
> > Is this the best way to fix up thumb addresses? krk@cygnus.com
> > --- 1734,1746 ----
> > #endif
> > else
> > #endif /* THUMBEXTENSION */
> > ! if (info->relocatable && ! howto->partial_inplace)
> > ! rstat = bfd_reloc_ok;
> > ! else
> > ! rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
> > ! contents,
> > ! rel->r_vaddr - input_section->vma,
> > ! val, addend);
> > #if 1 /* THUMBEXTENSION */
> > /* FIXME:
> > Is this the best way to fix up thumb addresses? krk@cygnus.com
>
> A simpler version of this patch would be to set the 'done' variable if
> performing a relocatable link and the reloc has partial_inplace set as
> false...
Simpler but not safer. The if..else statement before
_bfd_final_link_relocate is conditionally switched on via
#if 1 /* THUMBEXTENSION */
preprocessor directive.
My patch has nothing to do with THUMBEXTENSION, so I don't want the
mentioned conditional compilation to affect the patch.
...Bye..Dmitry.