[U-Boot] debug warning

York Sun yorksun at freescale.com
Wed Jul 15 22:32:30 CEST 2015



On 07/15/2015 01:29 PM, Simon Glass wrote:
> Hi York,
> 
> On 15 July 2015 at 14:25, York Sun <yorksun at freescale.com> wrote:
>>
>>
>> On 07/15/2015 01:23 PM, Albert ARIBAUD wrote:
>>> Hello York,
>>>
>>> On Wed, 15 Jul 2015 13:02:07 -0700, York Sun <yorksun at freescale.com>
>>> wrote:
>>>> Simon,
>>>>
>>>> Did it happen to you with this warning?
>>>>
>>>> lib/fdtdec.c:108:4: warning: format ‘%x’ expects argument of type ‘unsigned
>>>> int’, but argument 3 has type ‘fdt_size_t’ [-Wformat=]
>>>>     debug("addr=%08lx, size=%08x\n",
>>>>     ^
>>>>
>>>> I think when we have 64-bit physical address, as defined in fdtdec.h, this debug
>>>> statement needs to be changed. I am thinking to change the typedef fdt_addr_t to
>>>> phys_addr_t, and fdt_size_t to phys_size_t. What do you say?
>>>
>>> I say there is no reason to change a type just because a printf format
>>> specifier is wrong for it when building for 64-bit.
>>>
>>> Is there a rationale apart from the format specifier error?
>>>
>>> If not, then What should be done is fix the specifier so that it is
>>> correct in both 32 and 64 bits.
>>>
>>
>> Albert,
>>
>> Let me send a RFC patch so you can comment on it.
> 
> I'm not sure how to do what Albert is suggesting.
> 

I only thought of two ways, using #ifdef or changing the type as my RFC patch
suggests.

York


More information about the U-Boot mailing list