[U-Boot] [PATCH] Do not copy elf section to same adress

Matthias Weisser weisserm at arcor.de
Tue Jan 18 17:14:43 CET 2011


When an elf section is already at the right position (e.g. after image
decompression by bootm) there is no need to copy it.

Signed-off-by: Matthias Weisser <weisserm at arcor.de>
---
 common/cmd_elf.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/common/cmd_elf.c b/common/cmd_elf.c
index bf32612..aec4579 100644
--- a/common/cmd_elf.c
+++ b/common/cmd_elf.c
@@ -342,9 +342,10 @@ static unsigned long load_elf_image_shdr(unsigned long addr)
 			memset ((void *)shdr->sh_addr, 0, shdr->sh_size);
 		} else {
 			image = (unsigned char *) addr + shdr->sh_offset;
-			memcpy ((void *) shdr->sh_addr,
-				(const void *) image,
-				shdr->sh_size);
+			if ((void *) shdr->sh_addr != (void *) image)
+				memcpy((void *) shdr->sh_addr,
+					(const void *) image,
+					shdr->sh_size);
 		}
 		flush_cache (shdr->sh_addr, shdr->sh_size);
 	}
-- 
1.7.0.4



More information about the U-Boot mailing list