This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Change to coff-arm.c breaks binutils
Hi Sean,
> Sorry about the fact that there isn't a configuration for this. Here
> are my full cvs differences for a working binutils cross to
> arm-wrs-vxworks. There is one additional change to the ldscript in
> order to collect sections that have been split-by-reloc. This is
> because the current coff loader on the target cannot deal with multiple
> segments. I do not feel that this change is to fix a binutils problem.
> The coff-arm.c mod is a binutils problem, however, IMHO.
I have checked your diffs into the sources. (BTW in the future could
you enclose ChangeLog entries when you submit a patch).
I changed the patch to coff-arm.c slightly, so that it now looks like:
/* FIXME - it is not clear which targets need this next test
and which do not. It is known that it is needed for the
VXworks target (hence the #ifdef), but it is also known
that it was supressed for other (arm) targets. This ought
to be sorted out one day. */
#ifdef VXWORKS
/* We must not ignore the symbol value. If the symbol is
within the same section, the relocation should have already
been fixed, but if it is not, we'll be handed a reloc into
the beginning of the symbol's section, so we must not cancel
out the symbol's value, otherwise we'll be adding it in
twice. */
if (sym != NULL && sym->n_scnum != 0)
addend += sym->n_value;
#endif
And I added a definition of VXWORKS in the config.bfd file.
Cheers
Nick