This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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: ARM BE8 linker support


On Thu, 2004-04-01 at 19:23, Paul Brook wrote:
> On Thursday 01 April 2004 12:32, Richard Earnshaw wrote:
> > Paul,
> >
> > I've just realized that there are a couple of omissions from this patch
> > (there's no need to back it out, but I think they would be best addressed
> > while the patch is fresh in your mind):
> >
> > BE8 mode should really only be possible for EABI v3 or later images.
> 
> Ok. Does this include the GNU EABI? ie. should it be extended to include BE8?

Well there are two points here:

1) GNU's existing implementation of ELF on ARM uses the e_flags field in
a different way.  As it turns out the EF_ARM_BE8 bit doesn't appear to
be used, so it's probably OK to use this directly.
2) We'd like to encourage folks to migrate away from non-conforming
object file representations.  By adding new features like this to the
conforming variants only will help to reinforce this.

So is there a need for be8 mode in the 'legacy' format.  My feeling is
that the answer to that is no, so we shouldn't allow it (at least until
some need can be shown).

> > It ought to be possible to create a configuration where BE8 mode is the
> > default (assuming a big-endian object file)...
> 
> Does this mean making a new pseudo-target, eg. armbe8-elf, in the same way we 
> have armeb-elf which defaults to be32 objects?

That might well be the way to do it.  It certainly needs to be possible
for some OS to say in its configuration file that it is big-endian and
uses be8 format images.  On reflection the best way to achieve the
required technical effect might need some further thought.

We may also need pseudo-targets for EABI conforming little-endian
objects/images as well.

> If this were gcc I'd probably suggest something equivalent to -mabi=, and the 
> associated --with-abi= configure switch. There doesn't seem to be the same 
> precedent for this in binutils/ld though.
> 

I'm not entirely convinced by the --with-abi= in gcc.  It sort of makes
sense in the deeply embedded world, but it's generally pretty
meaningless in the platform space (a platform defines a fixed ABI, and
you can't generally mess with the configuration and expect things to
work).

> > I'm not sure if this can happen, but it shouldn't be possible to generate
> > BE8 when doing a partial link.
> 
> We always generate pure endian (ie. be32 or le32) objects when doing a partial 
> link. Do we want a diagnostic if --be8 is specitied?

Great.

R.


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