On 2/20/20 12:45 PM, Sam Protsenko wrote:
Hi Eugeniu,

On Mon, Feb 17, 2020 at 12:24 PM Eugeniu Rosca <ero...@de.adit-jv.com> wrote:

Replace 'u32' by 'uint32_t' in image.h, since the former may lead to
build failures in U-Boot tooling (see [1]).

Avoid using 'uint', since it is not a fixed-width type [2], potentially
leading to a dangerous mismatch between the prototypes and definitions
of the android_image_get_dtb* functions.

This should be the quickest way to overcome the tooling build failure,
with more future-proof solutions being proposed by Yamada-san in [1].

[1] https://patchwork.ozlabs.org/patch/1238245/
[2] Excerpt from https://en.cppreference.com/w/cpp/language/types
  -----------8<------------
  Type specifier    Width in bits by data model
                    LP32  ILP32  LLP64  LP64
  unsigned int      16    32     32     32
  -----------8<------------

Cc: Tom Rini <tr...@konsulko.com>
Cc: Sam Protsenko <joe.s...@gmail.com>
Fixes: 7f2531502c74c0 ("image: android: Add routine to get dtbo params")
Fixes: c3bfad825a71ea ("image: android: Add functions for handling dtb field")
Suggested-by: Masahiro Yamada <masahi...@kernel.org>
Signed-off-by: Eugeniu Rosca <ero...@de.adit-jv.com>
---

Reviewed-by: Sam Protsenko <joe.s...@gmail.com>

uint32_t is defined in glibc's stdint.h and in our include/linux/types.h
(which is included in common.h).

We use image.h in tools/*.c in files which neither include common.h nor
stdint.h. But for USE_HOSTCC=y include/compiler.h includes stdint.h.

BUT changing a function definition in a header and not doing the same in
the C-file looks quite inconsistent to me.

Please, use the same types in both the C-file and in the header.

Best regards

Heinrich

Reply via email to