public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 0/6] Optimize ARM relocation
Date: Fri, 21 Jun 2013 23:07:37 +0200	[thread overview]
Message-ID: <20130621230737.5ad77c79@lilith> (raw)
In-Reply-To: <1370953055-13482-1-git-send-email-albert.u.boot@aribaud.net>

On Tue, 11 Jun 2013 14:17:29 +0200, Albert ARIBAUD
<albert.u.boot@aribaud.net> wrote:

> This series optimizes relocation by ensuring ARM
> binaries only use one type of relocation record,
> R_ARM_RELATIVE., then optimizing relocation code
> accordingly.
> 
> 1. A Makefile rule is added that checks that no
> other relocation record types are generated except
> R_ARM_RELATIVE; build fails if this is the case.
> 
> 2. All references to dymsym are removed, as this
> table is not used for R_ARM_RELATIVE relocations.
> 
> 3. arch/arm/lib/bss.c is replaced by a more generic
> arch/arm/lib/sections.c where all section symbols will
> be defined.
> 
> 4. __image_copy_start and __image_copy_end symbols
> are moved from linker scripts to arch/arm/lib/sections.c
> 
> 5. __rel_dyn_start and __rel_dyn_end are moved from
> linker scripts into arch/arm/lib/sections.c
> 
> 6. relocate_code is optimized based on the fact that
> symbol references are now always valid even before
> relcation, and that only R_ARM_RELATIVE relocations
> will be met.
> 
> Changes in v3:
> - fix commit message typo (of -> if)
> - fix commit message typo (breaks -> break)
> 
> Changes in v2:
> - use $< instead of $(obj)u-boot
> - new in V2: remove all dynsym references
> - various comment fixes
> 
> Albert ARIBAUD (6):
>   arm: ensure u-boot only uses relative relocations
>   remove all references to .dynsym
>   arm: generalize lib/bss.c into lib/sections.c
>   arm: make __image_copy_{start,end} compiler-generated
>   arm: make __rel_dyn_{start,end} compiler-generated
>   arm: optimize relocate_code routine
> 
>  Makefile                                       |    7 +++
>  arch/arm/config.mk                             |    5 ++
>  arch/arm/cpu/arm920t/ep93xx/u-boot.lds         |    6 ++-
>  arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds      |    5 --
>  arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds    |    5 --
>  arch/arm/cpu/ixp/u-boot.lds                    |   20 +++++---
>  arch/arm/cpu/u-boot-spl.lds                    |    6 +--
>  arch/arm/cpu/u-boot.lds                        |   21 +++++---
>  arch/arm/lib/Makefile                          |    2 +-
>  arch/arm/lib/relocate.S                        |   61 ++++++------------------
>  arch/arm/lib/{bss.c => sections.c}             |    8 +++-
>  board/actux1/u-boot.lds                        |   20 +++++---
>  board/actux2/u-boot.lds                        |   20 +++++---
>  board/actux3/u-boot.lds                        |   20 +++++---
>  board/ait/cam_enc_4xx/u-boot-spl.lds           |    5 --
>  board/davinci/da8xxevm/u-boot-spl-da850evm.lds |    5 --
>  board/davinci/da8xxevm/u-boot-spl-hawk.lds     |    1 -
>  board/dvlhost/u-boot.lds                       |   20 +++++---
>  board/freescale/mx31ads/u-boot.lds             |   20 +++++---
>  board/vpac270/u-boot-spl.lds                   |    6 +--
>  include/asm-generic/sections.h                 |    3 --
>  21 files changed, 139 insertions(+), 127 deletions(-)
>  rename arch/arm/lib/{bss.c => sections.c} (79%)
> 

Applied to u-boot-arm/master.

Amicalement,
-- 
Albert.

      parent reply	other threads:[~2013-06-21 21:07 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-14 20:02 [U-Boot] [PATCH 0/5] Optimize ARM relocation Albert ARIBAUD
2013-05-14 20:02 ` [U-Boot] [PATCH 1/5] arm: generalize lib/bss.c into lib/sections.c Albert ARIBAUD
2013-05-14 20:02   ` [U-Boot] [PATCH 2/5] arm: make __image_copy_{start, end} compiler-generated Albert ARIBAUD
2013-05-14 20:02     ` [U-Boot] [PATCH 3/5] arm: make relocation symbols compiler-generated Albert ARIBAUD
2013-05-14 20:02       ` [U-Boot] [PATCH 4/5] arm: ensure u-boot only uses relative relocations Albert ARIBAUD
2013-05-14 20:03         ` [U-Boot] [PATCH 5/5] arm: optimize relocate_code routine Albert ARIBAUD
2013-05-14 23:54           ` Benoît Thébaudeau
2013-05-15  7:32             ` Albert ARIBAUD
2013-05-14 22:12         ` [U-Boot] [PATCH 4/5] arm: ensure u-boot only uses relative relocations Benoît Thébaudeau
2013-05-15  7:46           ` Albert ARIBAUD
2013-05-15  9:38             ` Albert ARIBAUD
2013-05-15 13:49               ` Benoît Thébaudeau
2013-05-15 15:01                 ` Albert ARIBAUD
2013-05-14 22:09       ` [U-Boot] [PATCH 3/5] arm: make relocation symbols compiler-generated Benoît Thébaudeau
2013-05-15  6:39         ` Albert ARIBAUD
2013-05-15  6:41           ` Albert ARIBAUD
2013-05-14 20:16 ` [U-Boot] [PATCH 0/5] Optimize ARM relocation Albert ARIBAUD
2013-05-14 23:58   ` Benoît Thébaudeau
2013-05-15  7:49     ` Albert ARIBAUD
2013-05-28  7:01 ` [U-Boot] [PATCH v2 0/6] " Albert ARIBAUD
2013-05-28  7:01   ` [U-Boot] [PATCH v2 1/6] arm: ensure u-boot only uses relative relocations Albert ARIBAUD
2013-05-28  7:01     ` [U-Boot] [PATCH v2 2/6] remove all references to .dynsym Albert ARIBAUD
2013-05-28  7:01       ` [U-Boot] [PATCH v2 3/6] arm: generalize lib/bss.c into lib/sections.c Albert ARIBAUD
2013-05-28  7:01         ` [U-Boot] [PATCH v2 4/6] arm: make __image_copy_{start, end} compiler-generated Albert ARIBAUD
2013-05-28  7:01           ` [U-Boot] [PATCH v2 5/6] arm: make __rel_dyn_{start, " Albert ARIBAUD
2013-05-28  7:01             ` [U-Boot] [PATCH v2 6/6] arm: optimize relocate_code routine Albert ARIBAUD
2013-05-28 17:11           ` [U-Boot] [PATCH v2 4/6] arm: make __image_copy_{start, end} compiler-generated Benoît Thébaudeau
2013-05-28 17:04     ` [U-Boot] [PATCH v2 1/6] arm: ensure u-boot only uses relative relocations Benoît Thébaudeau
2013-05-28 17:31       ` Albert ARIBAUD
2013-06-11 12:17   ` [U-Boot] [PATCH v3 0/6] Optimize ARM relocation Albert ARIBAUD
2013-06-11 12:17     ` [U-Boot] [PATCH v3 1/6] arm: ensure u-boot only uses relative relocations Albert ARIBAUD
2013-06-11 12:17       ` [U-Boot] [PATCH v3 2/6] remove all references to .dynsym Albert ARIBAUD
2013-06-11 12:17         ` [U-Boot] [PATCH v3 3/6] arm: generalize lib/bss.c into lib/sections.c Albert ARIBAUD
2013-06-11 12:17           ` [U-Boot] [PATCH v3 4/6] arm: make __image_copy_{start, end} compiler-generated Albert ARIBAUD
2013-06-11 12:17             ` [U-Boot] [PATCH v3 5/6] arm: make __rel_dyn_{start, " Albert ARIBAUD
2013-06-11 12:17               ` [U-Boot] [PATCH v3 6/6] arm: optimize relocate_code routine Albert ARIBAUD
2013-06-11 12:47     ` [U-Boot] [PATCH v3 0/6] Optimize ARM relocation Albert ARIBAUD
2013-06-11 14:22       ` Lubomir Popov
2013-06-11 15:29         ` Albert ARIBAUD
2013-06-13  9:05       ` Albert ARIBAUD
2013-06-13 18:54         ` Jeroen Hofstee
2013-06-16 13:33           ` Jeroen Hofstee
2013-06-18 14:54             ` Albert ARIBAUD
2013-06-19  7:31               ` [U-Boot] [LONG] " Albert ARIBAUD
2013-06-12 22:38     ` [U-Boot] " Benoît Thébaudeau
2013-06-21 21:07     ` Albert ARIBAUD [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130621230737.5ad77c79@lilith \
    --to=albert.u.boot@aribaud.net \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox