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.
prev 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