[PATCH 1/1] rockchip: make_fit_atf: ignore empty PT_LOAD segment

Kever Yang kever.yang at rock-chips.com
Wed Sep 16 10:40:41 CEST 2020


On 2020/9/15 上午9:43, Heinrich Schuchardt wrote:
> The linker sometimes creates PT_LOAD segments with length (p_filesz) zero
> as described in https://man7.org/linux/man-pages/man5/elf.5.html. This
> leads to build failures. We should ignore empty segments.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>


Reviewed-by: Kever Yang <kever.yang at rock-chips.com>


Thanks,

- Kever

> ---
>   arch/arm/mach-rockchip/make_fit_atf.py | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-rockchip/make_fit_atf.py b/arch/arm/mach-rockchip/make_fit_atf.py
> index d15c32b303..f3224d2555 100755
> --- a/arch/arm/mach-rockchip/make_fit_atf.py
> +++ b/arch/arm/mach-rockchip/make_fit_atf.py
> @@ -189,8 +189,9 @@ def unpack_elf(filename):
>           p_type, p_flags, p_offset = struct.unpack_from('<LLQ', elf, offset)
>           if p_type == 1: # PT_LOAD
>               p_paddr, p_filesz = struct.unpack_from('<2Q', elf, offset + 0x18)
> -            p_data = elf[p_offset:p_offset + p_filesz]
> -            segments.append((index, e_entry, p_paddr, p_data))
> +            if p_filesz > 0:
> +                p_data = elf[p_offset:p_offset + p_filesz]
> +                segments.append((index, e_entry, p_paddr, p_data))
>       return segments
>
>   def main():
> --
> 2.28.0
>
>
>




More information about the U-Boot mailing list