[U-Boot] [U-Boot, v4, 12/16] common: env_embedded: allow fine placement of environment object

Tom Rini trini at konsulko.com
Fri Apr 6 21:03:43 UTC 2018


On Fri, Mar 16, 2018 at 05:20:53PM +0100, Christophe Leroy wrote:

> Commit 7653942b10e9e ("common/env_embedded.c: drop support for
> CONFIG_SYS_USE_PPCENV") dropped the .ppcenv section which was
> used in linking scripts to allow fine placement of embedded
> environment sections.
> 
> This implies that GCC randomly places objects from env/embedded.o
> and environment is not guaranteed to be located at the correct address:
> 
> 04003df8 g     F .text  00000038 mii_init
> 04004000 g     O .text  00000004 env_size
> 04004004 g     O .text  00002000 environment
> 04006004 g     F .text  00000040 .hidden __lshrdi3
> 
> This patch restores this capability by allocating each object marked
> with __UBOOT_ENV_SECTION__ into a different section. Hence
> 'environment' will be alone in .text.environment, allowing a
> fine placement in u-boot.lds with:
> 
> 		. = DEFINED(env_offset) ? env_offset : .;
> 		env/embedded.o			(.text.environment)
> 
> Fixes: 7653942b10e9e ("common/env_embedded.c: drop support for CONFIG_SYS_USE_PPCENV")
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/490be286/attachment.sig>


More information about the U-Boot mailing list