[PATCH] lib: move phdr increment to for loop heading

Simon Glass sjg at chromium.org
Sat Aug 17 17:57:33 CEST 2024


Hi Maxim,

On Sat, 17 Aug 2024 at 05:02, Maxim Moskalets <maximmosk4 at 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 at gmail.com>
> ---
>  lib/elf.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>

Reviewed-by: Simon Glass <sjg at 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


More information about the U-Boot mailing list