[U-Boot] [PATCH 0/4] arm64: rela relocation

Albert ARIBAUD albert.u.boot at aribaud.net
Tue Oct 8 10:13:23 CEST 2013


Hi FengHua,

On Tue, 8 Oct 2013 11:32:39 +0800 (GMT+08:00), FengHua
<fenghua at phytium.com.cn> wrote:

> 
> > Hi FengHua,
> > 
> > On Fri, 4 Oct 2013 23:55:01 +0800 (GMT+08:00), FengHua
> > <fenghua at phytium.com.cn> wrote:
> > 
> > > 
> > > 
> > > > arm64: rela relocation
> > > > 
> > > > This lets us remove the manual relocation stuff from the arm64 patchset
> > > > (the symbol itself is removed by this patchset, but not all the new
> > > > manual relocations added by the arm64 patchset).
> > > > 
> > > > I'm not terribly happy with the way relocate-rela is now, versus something
> > > > cleaner that operates on the ELF file, but it's good enough for now and
> > > > waiting longer to get rid of the manual relocations would be worse.
> > > > 
> > > > This patchset is based on David's arm64 patchset v13.  David, the first
> > > > two patches should be applied before your arm64 patches.  Maybe the
> > > > fourth as well (except for the removal of the arm64 ifdef you added,
> > > > which would then need to be squashed with your patch).  The third patch
> > > > should be squashed with your patches (plus you should remove the manual
> > > > relocs).
> > > > 
> > > > Scott Wood (4):
> > > >   arm64: Add tool to statically apply RELA relocations
> > > >   arm64: Turn u-boot.bin back into an ELF file after relocate-rela
> > > >   arm64: Non-manual relocation
> > > >   arm64: Make checkarmreloc accept arm64 relocations
> > > > 
> > > >  Makefile                          |  39 ++++++--
> > > >  arch/arm/config.mk                |   4 -
> > > >  arch/arm/cpu/armv8/config.mk      |   1 -
> > > >  arch/arm/cpu/armv8/u-boot.lds     |  32 +++++--
> > > >  arch/arm/include/asm/config.h     |   5 --
> > > >  arch/arm/lib/crt0_64.S            |   7 +-
> > > >  arch/arm/lib/relocate_64.S        |  41 ++++-----
> > > >  include/configs/vexpress_aemv8a.h |   3 +
> > > >  tools/Makefile                    |   6 ++
> > > >  tools/relocate-rela.c             | 185 ++++++++++++++++++++++++++++++++++++++
> > > >  10 files changed, 276 insertions(+), 47 deletions(-)
> > > >  create mode 100644 tools/relocate-rela.c
> > > > 
> > > Great, some fixups related with relocation could be removed.
> > > I will modify arm64 patchset according this.
> > 
> > Stop me if I'm missing something, but doesn't Scott's patch series need
> > yours? And if you remove the manual relocas in yours, doesn't that make
> > your series unable to function properly until Scott's series is applied
> > too?
> > 
> > If I am not mistaken, then maybe Scott's and your patches should be
> > merged in a single series, with adequate attribution of course. 
> > 
> > > David
> > 
> > Amicalement,
> > -- 
> > Albert.
> 
> 
> Yes, these two patches should work together.

Yep, Scott pointed me to where my eyes would not look. Must have been a
SEP field. :)

> We'd better merge them to one patchset.
> The point is we should make choice between CONFIG_NEED_MANUAL_RELOC
> and relocation-rela tool before aarch64-gcc support rel
> relocation format or maybe aarch64-gcc will never do it.
> Another motivation to update arm64 patch is that it's too old
> and got wrong when applied to current u-boot master.

I am in favor of going for relocation-rela, if only because manual
relocations are a major pain in the long run, so I want relocation
handling to be automated.
 
> Best Regards.
> 
> David.

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list