Message ID | 20240817110222.31415-1-Maxim.Moskalets@kaspersky.com |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
Series | lib: move phdr increment to for loop heading | expand |
Hi Maxim, On Sat, 17 Aug 2024 at 05:02, Maxim Moskalets <maximmosk4@gmail.com> wrote: > > Shifting this pointer in the loop will be more logical when working > with the code later, because you can see at a glance what exactly > changes at each iteration. Moreover, the code remains equivalent > because this variable is not used after the loop. > > Signed-off-by: Maxim Moskalets <maximmosk4@gmail.com> > --- > lib/elf.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > Reviewed-by: Simon Glass <sjg@chromium.org> BTW we normally use post-increment in loops. > diff --git a/lib/elf.c b/lib/elf.c > index dc13935e103..205724b71dc 100644 > --- a/lib/elf.c > +++ b/lib/elf.c > @@ -86,7 +86,7 @@ unsigned long load_elf64_image_phdr(unsigned long addr) > phdr = (Elf64_Phdr *)(addr + (ulong)ehdr->e_phoff); > > /* Load each program header */ > - for (i = 0; i < ehdr->e_phnum; ++i) { > + for (i = 0; i < ehdr->e_phnum; ++i, ++phdr) { > void *dst = (void *)(ulong)phdr->p_paddr; > void *src = (void *)addr + phdr->p_offset; > > @@ -99,7 +99,6 @@ unsigned long load_elf64_image_phdr(unsigned long addr) > phdr->p_memsz - phdr->p_filesz); > flush_cache(rounddown((unsigned long)dst, ARCH_DMA_MINALIGN), > roundup(phdr->p_memsz, ARCH_DMA_MINALIGN)); > - ++phdr; > } > > if (ehdr->e_machine == EM_PPC64 && (ehdr->e_flags & > @@ -201,7 +200,7 @@ unsigned long load_elf_image_phdr(unsigned long addr) > phdr = (Elf32_Phdr *)(addr + ehdr->e_phoff); > > /* Load each program header */ > - for (i = 0; i < ehdr->e_phnum; ++i) { > + for (i = 0; i < ehdr->e_phnum; ++i, ++phdr) { > void *dst = (void *)(uintptr_t)phdr->p_paddr; > void *src = (void *)addr + phdr->p_offset; > > @@ -214,7 +213,6 @@ unsigned long load_elf_image_phdr(unsigned long addr) > phdr->p_memsz - phdr->p_filesz); > flush_cache(rounddown((unsigned long)dst, ARCH_DMA_MINALIGN), > roundup(phdr->p_memsz, ARCH_DMA_MINALIGN)); > - ++phdr; > } > > return ehdr->e_entry; > -- > 2.39.2 > Regards, Simon
On Sat, 17 Aug 2024 14:02:22 +0300, Maxim Moskalets wrote: > Shifting this pointer in the loop will be more logical when working > with the code later, because you can see at a glance what exactly > changes at each iteration. Moreover, the code remains equivalent > because this variable is not used after the loop. > > Applied to u-boot/next, thanks!
diff --git a/lib/elf.c b/lib/elf.c index dc13935e103..205724b71dc 100644 --- a/lib/elf.c +++ b/lib/elf.c @@ -86,7 +86,7 @@ unsigned long load_elf64_image_phdr(unsigned long addr) phdr = (Elf64_Phdr *)(addr + (ulong)ehdr->e_phoff); /* Load each program header */ - for (i = 0; i < ehdr->e_phnum; ++i) { + for (i = 0; i < ehdr->e_phnum; ++i, ++phdr) { void *dst = (void *)(ulong)phdr->p_paddr; void *src = (void *)addr + phdr->p_offset; @@ -99,7 +99,6 @@ unsigned long load_elf64_image_phdr(unsigned long addr) phdr->p_memsz - phdr->p_filesz); flush_cache(rounddown((unsigned long)dst, ARCH_DMA_MINALIGN), roundup(phdr->p_memsz, ARCH_DMA_MINALIGN)); - ++phdr; } if (ehdr->e_machine == EM_PPC64 && (ehdr->e_flags & @@ -201,7 +200,7 @@ unsigned long load_elf_image_phdr(unsigned long addr) phdr = (Elf32_Phdr *)(addr + ehdr->e_phoff); /* Load each program header */ - for (i = 0; i < ehdr->e_phnum; ++i) { + for (i = 0; i < ehdr->e_phnum; ++i, ++phdr) { void *dst = (void *)(uintptr_t)phdr->p_paddr; void *src = (void *)addr + phdr->p_offset; @@ -214,7 +213,6 @@ unsigned long load_elf_image_phdr(unsigned long addr) phdr->p_memsz - phdr->p_filesz); flush_cache(rounddown((unsigned long)dst, ARCH_DMA_MINALIGN), roundup(phdr->p_memsz, ARCH_DMA_MINALIGN)); - ++phdr; } return ehdr->e_entry;
Shifting this pointer in the loop will be more logical when working with the code later, because you can see at a glance what exactly changes at each iteration. Moreover, the code remains equivalent because this variable is not used after the loop. Signed-off-by: Maxim Moskalets <maximmosk4@gmail.com> --- lib/elf.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)