From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Denk Date: Wed, 19 Jan 2011 09:40:28 +0100 Subject: [U-Boot] [PATCH] Do not copy elf section to same adress In-Reply-To: <1295367283-4696-1-git-send-email-weisserm@arcor.de> References: <1295367283-4696-1-git-send-email-weisserm@arcor.de> Message-ID: <20110119084028.35BBE2FC@gemini.denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Matthias Weisser, In message <1295367283-4696-1-git-send-email-weisserm@arcor.de> you wrote: > 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 > --- > 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); Braces required for multi-line statement. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Egotist: A person of low taste, more interested in himself than in me. - Ambrose Bierce