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 <weiss...@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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to