This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [RFA] ARM OABI - pc-relative relocations
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: "Zack Weinberg" <zack at codesourcery dot com>
- Cc: Richard dot Earnshaw at arm dot com, Jerome Guitton <guitton at act-europe dot fr>, binutils at sources dot redhat dot com
- Date: Mon, 15 Dec 2003 17:32:56 +0000
- Subject: Re: [RFA] ARM OABI - pc-relative relocations
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
> Richard Earnshaw <rearnsha@arm.com> writes:
> >> Patch is appended. Comments? I do not know the proper way to get
> >> USE_REL set to 0; obviously "#ifndef NOT_VXWORKS" is not the right
> >> approach.
> >
> > Well, I'd use an option to start with... -mrela? As for the default for
> > that flag, then I would think you could use a te-vxworks.h to define
> > something appropriate.
>
> Sounds doable. Could you give some hints on how to add BFD options?
> I need this for MIPS too, so a generic way would be preferable.
>
Argh! I'd forgotten that this was in the BFD, where nothing is ever that
simple...
The correct thing to do here is to create an bfd_elf32_arm_vxworks_vec;
this is substantially the same as a bfd_elf32_little_arm_vec, except that
some of the defaults are different.
It should then be a fairly straight-forward matter to build a set of
wrappers that define the correct things before pulling in the more generic
arm-elf files.
If you add the appropriate emulations to the configuration, then it should
be possible to link in standard arm-elf objects as well. They aren't that
different.
The assembler should then also be able to find out what to do by
interrogating the BFD.
R.